ferror() — 読み取り/書き込みエラーのテスト

フォーマット

#include <stdio.h>
int ferror(FILE *stream);

言語レベル

ANSI

スレッド・セーフ

はい

説明

ferror() 関数は指定された stream からの読み取り中、または書き込み中のエラーをテストします。エラーが発生した場合、stream をクローズするか、rewind() 関数を呼び出すか、または clearerr() 関数を呼び出すまではstream のエラー標識は設定されたままになります。

戻り値

ferror() 関数はゼロ以外の値を戻して、指定した stream のエラーを示します。0 の戻り値は、エラーが発生しなかったことを意味します。

次の例は、データをストリームにプットしてから、書き込みエラーが発生しなかったかどうかを確認します。
#include <stdio.h>
 
int main(void)
{
   FILE *stream;
   char *string = "Important information";
   stream = fopen("mylib/myfile","w");
 
   fprintf(stream, "%s¥n", string);
   if (ferror(stream))
   {
      printf("write error¥n");
      clearerr(stream);
   }
   if (fclose(stream))
      perror("fclose error");
}