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"