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"