我已编写此代码以从输入文件中读取并显示数字:
#include<stdio.h>
int main()
{
int i;
FILE * f;
f=fopen("inputA.txt","r");
while (!feof(f)){
fscanf(f, "%i", &i);
printf("%i\t", i);
}
printf("\n");
}
输出显示最后一次数字两次。我想这是feof
的问题,但我不知道如何解决它。有什么想法吗?
答案 0 :(得分:1)
while( !feof(x) )
不正确。
如果调用成功,您必须检查fscanf()的返回值并仅打印i
。如果fscanf()返回值表示错误,那么然后检查feof()并从循环中断。