我想编写一个函数,在文件中创建整数数组,并用逗号分隔数字,如下所示:
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/