c语言要进行文件检查,需要用两个语句,分别是ferror函数和clearerr函数
ferror函数返回值,返回为0表示正确,返回为1表示错误。
clearerr函数的作用是将文件错误和文件结束标志设置为0.一旦ferror检查到读写函数错误,此时立即调用clearerr函数,使得下一轮ferror能够正常检查。
#include<stdio.h>
int main()
{
FILE *fp1,*fp2;
char buf[10];
int a;
fp1=fopen("aaa.txt","r");
fp2=fopen("ppp.txt","w");
a=fread(buf,1,10,fp1);
while(a!=0)
{
fwrite(buf,1,a,fp2);
a=fread(buf,1,10,fp1);
printf("%d",ferror(fp1));
if(ferror(fp1)) clearerr(fp1);
}
fclose(fp1);
printf("%d",ferror(fp1));
fclose(fp2);
return 0;
}