C ライブラリ関数 -clearerr()

C 标准库 - <stdio.h>C 標準ライブラリ - <stdio.h>

説明

C ライブラリ関数void clearerr(FILE *stream)指定されたストリーム 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("ファイル file.txt の読み取り中にエラーが発生しました\n");
   }
   clearerr(fp);
   if( ferror(fp) )
   {
      printf("ファイル file.txt の読み取り中にエラーが発生しました\n");
   }
   fclose(fp);

   return(0);
}

テキストファイルがあると仮定します。file.txtそれは空のファイルです。書き込み専用モードで開かれたファイルを読み取ろうとしているため、上記のプログラムをコンパイルして実行すると、次の結果が得られます。

读取文件:file.txt 时发生错误

C 标准库 - <stdio.h>C 標準ライブラリ - <stdio.h>

その他の拡張