【发布时间】:2016-10-16 10:33:18
【问题描述】:
我什至不确定 fscanf() 是否真的遇到 EOF。这是我的代码
#include<stdio.h>
int main()
{
int i=0,a[13];
FILE *fp;
fp=fopen("test.txt","r");
if(fp==NULL)
{
printf("Error");
}
else
{
i=0;
while((fscanf(fp,"%d",&a[i]))!=EOF)
{
printf("%d\n",a[i]);
i++;
}
printf("%d",i);
}
fclose(fp);
return 0;
}
测试输入是:
12
32
45
65
92
-1
0
61
15
13
12
240
4
我在代码块中运行它。
【问题讨论】:
-
请详细说明您的问题
-
可能不相关,但是如果
fopen返回NULL,您的程序可能会崩溃,因为在这种情况下您不应该调用fclose。如果你的文件中有超过 13 个整数,它也很可能会崩溃。 -
while((fscanf(fp,"%d",&a[i]))!=EOF && i < 13){…}
标签: c file-io file-handling eof scanf