位置:首頁 > 高級語言 > 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"