C - 如何读取整数文件直到文件末尾

  • 本文关键字:文件 整数 读取 何读取 c
  • 更新时间 :
  • 英文 :


我正在创建一个程序,该程序从输入文件中读取值并将其存储到二维数组中。我不知道如何在文件末尾结束"读入"循环,因为我使用的是整数,而 EOF 不是整数。

目前,它将创建一个无限循环。

//      while(?????)
     {
            //printf("Test");
            fscanf(fp, "%d", &x);
            fscanf(fp, "%d", &y);
            fscanf(fp, "%d", &val);
            fscanf(fp, "%d", &val2);
            fscanf(fp, "%d", &price);
            grid[x][y] = 1;
            grid[y][x] = 1;
     }

示例文件输入

0 3 300 305 200 4 300 313 200 5 300 306 200 2 300 301 201 0 301 302 201 5 304 308 81 4 310 315 202 5 312 324 30

只要fscanf读取五个值,while 就会继续,并在到达文件末尾时停止。

while( ( fscanf ( fp, "%d %d %d %d %d", &x, &y, &val, &val2, &price)) == 5)
{
    grid[x][y] = 1;
    grid[y][x] = 1;
}

使用 !feof(fp) 作为 while 循环的条件

最新更新