C 库函数 int ferror(FILE *stream) 测试给定流 stream 的错误标识符。
下面是 ferror() 函数的声明。
int ferror(FILE *stream)
如果设置了与流关联的错误标识符,该函数返回一个非零值,否则返回一个零值。
下面的实例演示了 ferror() 函数的用法。
#include <stdio.h> int main() { FILE *fp; char c; fp = fopen("file.txt", "w"); c = fgetc(fp); if( ferror(fp) ) { printf("读取文件:file.txt 时发生错误\n"); } clearerr(fp); if( ferror(fp) ) { printf("读取文件:file.txt 时发生错误\n"); } fclose(fp); return(0); }
假设我们有一个文本文件 file.txt,它是一个空文件。让我们编译并运行上面的程序,因为我们试图读取一个以只写模式打开的文件,这将产生以下结果。
读取文件:file.txt 时发生错误