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"