当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 clearerr()用法及代码示例



描述

C库函数void clearerr(FILE *stream)清除给定流的文件结束和错误指示符。

声明

以下是 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"

相关用法


注:本文由纯净天空筛选整理自 C library function - clearerr()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。