void clearerr(FILE *stream)
优质
小牛编辑
130浏览
2023-12-01
描述 (Description)
C库函数void clearerr(FILE *stream)清除给定流的文件结束和错误指示符。
声明 (Declaration)
以下是clearerr()函数的声明。
void clearerr(FILE *stream)
参数 (Parameters)
stream - 这是指向标识流的FILE对象的指针。
返回值 (Return Value)
这不应该失败并且不设置外部变量errno但是如果它检测到它的参数不是有效流,它必须返回-1并将errno设置为EBADF。
例子 (Example)
以下示例显示了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"