C-standard-library-c-function-clearerr
提供:Dev Guides
Cライブラリ関数-clearerr()
説明
Cライブラリ関数 void clearerr(FILE stream)*は、指定されたストリームのファイル終了インジケータとエラーインジケータをクリアします。
宣言
次に、clearerr()関数の宣言を示します。
void clearerr(FILE *stream)
パラメーター
- stream -これは、ストリームを識別する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("Error in reading from file : file.txt\n");
}
clearerr(fp);
if( ferror(fp) ) {
printf("Error in reading from file : file.txt\n");
}
fclose(fp);
return(0);
}
空のファイルであるテキストファイル file.txt がある場合、上記のプログラムをコンパイルして実行すると、書き込み専用モードで開いたファイルを読み取ろうとするため、次の結果が生成されます。
Error reading from file "file.txt"