【发布时间】:2013-06-19 02:47:23
【问题描述】:
当我第一次运行程序时,文件被创建。但似乎 while 循环需要很长时间才能结束。由于文件现在是空的,它不会在文件的开头得到一个EOF吗?
#include<stdio.h>
void main(){
FILE *p;
int b, a=0;b=0;
p=fopen("text.txt", "a+");
while((b=fscanf(p,"%d",&a)) != EOF)
printf("%d\n",a);
fseek(p, 0, SEEK_END);
fprintf(p, " %d %d",1,6);
fflush(p);
fclose(p);
}
【问题讨论】:
-
为什么 `int b, a=0;b=0;` 而不是
int a=0,b=0;? -
追加模式下不需要 fseek
-
您可以尝试分析程序以查看其大部分时间都花在了哪里。