0

我想编写一个函数,在文件中用逗号分隔的数字创建整数数组,如下所示:

         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

第一列是每一行的编号,所以我需要的数据实际上是接下来的三列。
我的问题是:

  1. 由于我不知道数组的维度,所以我必须先读取最后一行的第一个数字。怎么做?我尝试使用 fseek 将我的文件指针指向文件末尾,然后找到前面的'\n',但我不知道如何处理逗号。
  2. 获得行数后,如何将所需的数据读入 N_row*3 数组?如何处理逗号和'\n'?

提前感谢您的帮助!

4

1 回答 1

0

您可以使用fscanf()

在循环中使用以下内容fscanf(),直到到达文件末尾:

int i,j
double x,y;
while (fscanf(fp, " %d , %f , %f , %d", &i, &x, &y, &j) != EOF) {....}
于 2013-01-30T16:37:26.980 回答