C 庫函數 - clearerr()
描述
C 庫函數 void clearerr(FILE *stream) 清除給定流 stream 的檔結束和錯誤識別字。
聲明
下麵是 clearerr() 函數的聲明。
void clearerr(FILE *stream)
參數
- stream -- 這是指向 FILE 對象的指針,該 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("讀取檔:file.txt 時發生錯誤\n");
   }
   clearerr(fp);
   if( ferror(fp) )
   {
      printf("讀取檔:file.txt 時發生錯誤\n");
   }
   fclose(fp);
   return(0);
}
假設我們有一個文本檔 file.txt,它是一個空文件。讓我們編譯並運行上面的程式,因為我們試圖讀取一個以只寫模式打開的檔,這將產生以下結果。
讀取檔:file.txt 時發生錯誤

 C 標準庫 - <stdio.h>