当前位置: 首页 > 文档资料 > C 标准库 中文版 >

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"