我的问题很简单,但我在谷歌上找不到,所以我在这里。
基本上,作为一个例子,我正在从输入文件中读取一堆整数,直到 EOF。我使用 fgetc 进行检查,但随后它将文件指针移动到第二个整数的地址。如何在这个while循环中检查EOF而不在检查时移动文件指针?
请记住,我将用这个循环做一些比扫描整数更复杂的事情。另外,我知道,不要提及我使用 fscanf 而不是 fgets。它只是一个简单的例子来告诉你我的意思。
while(fgetc(ifp) != EOF)
{
fscanf(ifp, "%d", &test);
printf("%d\n", test);
}
例如,如果输入文件有整数 1-10,上面的代码将打印:
2 3 4 5 6 7 8 9 10
错过了1!