我想编写一个函数,用一个逗号分隔的数字在文件中创建整数数组,如下所示:
1,54520.00000,86397.00000,0
2,54440.00000,87200.00000,0
3,51280.00000,97600.00000,0
4,50000.00000,100000.00000,0
5,48880.00000,100000.00000,0
第一列是每一行的编号,因此我需要的数据实际上是接下来的三列。
我的问题是:
由于我不知道数组的维数,因此我必须先读取最后一行的第一个数字。怎么做?我尝试使用fseek将文件指针指向文件的末尾,然后找到前一个'\ n',但是我不知道如何处理逗号。
获得行数后,如何将所需的数据读入N_row * 3数组中?如何处理逗号和'\ n'?
感谢您的帮助!
最佳答案
您可以使用fscanf()
在循环中使用以下fscanf()
直到到达文件末尾:
int i,j
double x,y;
while (fscanf(fp, " %d , %f , %f , %d", &i, &x, &y, &j) != EOF) {....}
关于c - 如何将逗号分隔的数字从文件中读取为C中的多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14608754/