C语言 <stdio.h> clearerr() 函数
-
描述
C库函数int clearerr(FILE * stream)清除给定流的EOF和错误指示符。 -
声明
以下是clearerr()函数的声明。void clearerr(FILE *stream)
参数- stream - 这是指向标识流的FILE对象的指针。
-
返回值
这不会失败,也不要设置外部变量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\n"); } clearerr(fp); if( ferror(fp) ) { printf("Error in reading from file : file.txt\n"); } fclose(fp); return(0); }
假设我们有一个文本文件file.txt,它是一个空文件,让我们编译并运行上述程序,这将产生以下结果,因为我们尝试读取以只读模式打开的文件。Error reading from file "file.txt"