C庫函數(shù) void clearerr(FILE *stream) 清除結(jié)束文件和錯誤指標(biāo)給定的流。
以下是聲明的clearerr()函數(shù)。
void clearerr(FILE *stream)
stream -- 這是一個文件對象的標(biāo)識流的指針。
這應(yīng)該不會失敗,并沒有設(shè)置外部變量errno但如果它檢測到它的參數(shù)不是一個有效的流,它必須返回-1,并設(shè)置errno為EBADF。
下面的例子顯示clearerr()函數(shù)的用法。
#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); }
假設(shè)我們有一個文本文件file.txt,這是一個空文件。讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果,因為我們嘗試讀取一個文件,我們只寫模式打開。
Error reading from file "file.txt"