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"