我写了这段代码,从输入文件中读取并显示数字:
#include<stdio.h>
int main()
{
int i;
FILE * f;
f=fopen("inputA.txt","r");
while (!feof(f)){
fscanf(f, "%i", &i);
printf("%it", i);
}
printf("n");
}
输出显示最后一个数字两次。我想这是feof
的问题,但我不知道如何解决。有什么想法吗?
while( !feof(x) )
不正确。
您必须检查fscanf()的返回值,并且只有在调用成功时才打印i
。如果fscanf()返回值指示错误,则检查feof()并中断循环。