从txt文档中读取数据保存到一个多维数组
我想要从一个已经生成的txt文档中读取数据然后将这些数据保存到一个多维数组中,但是我并不知道这个多维数组会有多少行和列,找到了一个程序,但是只是实现了读取数据的功能,并没有保存到数组里面,到底应该怎么做啊?求赐教。
[解决办法]
#include <vector>
#include <fstream>
int main()
{
struct Row
{
int a,b,c;
};
std::vector<Row> rows;
std::ifstream ifs("input.dat");
Row r;
while(ifs >> r.a >> r.b >> r.c)
{
rows.push_back(r);
}
//.....
return 0;
}
#include <stdio.h>
#define MAXL 10000
int d[MAXL][3];
FILE *f;
int i,n;
char ln[200];
int main() {
f=fopen("in.txt","r");
if (NULL==f) {
printf("Can not open file in.txt!\n");
return 1;
}
i=0;
while (1) {
if (NULL==fgets(ln,200,f)) break;
if (3==sscanf(ln,"%d%d%d",&d[i][0],&d[i][1],&d[i][2])) {
i++;
if (i>=MAXL) {
printf("Too many lines (>%d), Ignored!\n",MAXL);
break;
}
} else {
printf("Line %d format error:%s",i+1,ln);
}
}
fclose(f);
n=i;
for (i=0;i<n;i++) {
printf("%d:%d %d %d\n",i,d[i][0],d[i][1],d[i][2]);
}
return 0;
}
int main()
{
int i = 0;
char buf[10240];
FILE* fp = NULL;
fp = fopen("d:/TAX.txt","r");
assert(NULL != fp);
while((char)EOF != buf[i])
{
buf[i] = fgetc(fp);
printf("%c", buf[i]);
}
buf[i] = '\0';
printf("\n");
return 0;
}