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

形式

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

言語レベル

ANSI

スレッド・セーフ

はい

説明

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

戻り値

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");
}

関連情報