c语言文件中关于while(!feof(fp)) 循环多输出一次的问题

时间:2023-03-09 06:21:43
c语言文件中关于while(!feof(fp)) 循环多输出一次的问题
文件中关于while(!feof(fp)) 循环多输出一次的问题
feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。
当读到文件末尾时,文件指针并没有超出文件,所以会多读一次。
解决办法:
fseek(fp1,0,2); //文件末 
     w=ftell(fp1);           // 文件末指针的值
fseek(fp1,0,0);  //文件首 
while(w!=ftell(fp1))     //循环