#include
int main(int argc,char **argv)
{
FILE* fp;
char buf[300];
char c;
fp = fopen("test.txt","r");
while(!feof(fp))
{
if((c=fgetc(fp)) == EOF)
break;
printf("%c",c);
/*if((fgets(buf,300,fp)) == NULL )
break;
printf("%s",buf);*/
}
fclose(fp);
return 0;
}
这里直接在while(!feof(fp))循环体内利用fgets或其他函数读取到最后的时候直接跳出本层循环,就不会出现多读一次的问题,
如果不这样处理,那就的在while(!feof(fp))之前多读取一次就行啦。
发表评论
抢沙发~