clearerr() - C库函数
C库函数 void clearerr(FILE *stream) 清除结束文件和错误指标给定的流。
声明
以下是声明的clearerr()函数。
void clearerr(FILE *stream)
参数
-
stream -- 这是一个文件对象的标识流的指针。
返回值
这应该不会失败,并没有设置外部变量errno但如果它检测到它的参数不是一个有效的流,它必须返回-1,并设置errno为EBADF。
例子
下面的例子显示clearerr()函数的用法。
#include <stdio.h> int main() { FILE *fp; char c; fp = fopen("file.txt", "w"); c = fgetc(fp); if( ferror(fp) ) { printf("Error in reading from file : file.txt "); } clearerr(fp); if( ferror(fp) ) { printf("Error in reading from file : file.txt "); } fclose(fp); return(0); }
假设我们有一个文本文件file.txt,这是一个空文件。让我们编译和运行上面的程序,这将产生以下结果,因为我们尝试读取一个文件,我们只写模式打开。
Error reading from file "file.txt"