C语言文件函数

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;
 
}

输出:

C语言ferror()函数:判断文件操作是否出错