ferror()函数
ferror()函数用于检查输入输出函数进行读写操作时是否出错,该函数的声明如下所示:
int ferror(FILE * stream);
上述函数声明中,参数stream表示一个文件指针。如果对文件进行读写操作时出错,该函数返回1,没有出现错误返回0。
接下来通过一个具体案例来学习ferror()函数的使用,如例1所示。
例1 ferrorFile.c
1 #define _CRT_SECURE_NO_WARNINGS
2 #include <stdio.h>
3 int main()
4 {
5 FILE* fp;
6 fp = fopen("ferror.txt", "r");
7 if (pFile == NULL)
8 perror("文件打开失败!");
9 fputc('A', fp);
10 if (ferror(fp))
11 perror("写入错误!\n");
12 fclose(fp);
13 return 0;
14 }
例1运行结果如图1所示。
图1 例1运行结果
在例1中,第10行代码使用ferror()函数检测文件读写是否出现错误;第11行代码使用perror()函数打印出错时原因。从图1输出结果可以看出,文件以只读方式打开,不允许写操作,因此显示错误的文件描述符(文件指针)。