C语言 ferror()
函数 用来判断文件操作是否出错。
语法
int ferror ( FILE *fp );
参数
- fp:指定要判断的文件指针。
返回值
如果操作出错返回非0值,否则返回0。
注意
在c语言中判断fgetc()和getc()函数的返回值EOF
也可以判断是否到达文件末尾,但是EOF
也有可能是文件出错的情况下的返回值。
所以需要使用ferror()函数或者feof()函数来判断文件指针是否到了文件的末尾,这样更严谨一些。
例子
现介绍一个简单的例子,了解C语言 ferror()
函数 的使用方法。
#include <stdio.h>
#include<math.h>
int main( )
{
FILE *file; //定义文件指针
char c;
file = fopen("d:/yxjc123.txt", "r");//打开文件
if(NULL == file) {
perror("打开文件失败");
return -1;
}
//判断是否达到文件末尾指针
while ((c = fgetc(file)) != EOF) {
printf("%c", c);
}
puts("\n");
//通过ferror判断是否读取出错
if(ferror(file)){
puts("读取文件出错");
}else{
puts("读取文件成功");
}
fclose(file); //关闭文件
getchar();
return 0;
}
输出: