C-standard-library-c-function-clearerr

提供:Dev Guides
2020年6月22日 (月) 21:44時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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"