位置:首页 > 高级语言 > C语言标准库 > clearerr() - C库函数

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"