最終更新日時:
が更新

履歴 編集

function
<cstdio>

std::ferror

namespace std {
  int ferror(FILE* stream);
}

概要

ファイルストリームがエラー状態かを判定する。

戻り値

エラーが発生している場合は0以外を、そうでなければ0を返す。

備考

  • エラー状態は、clearerr()またはrewind()を呼び出すまで保持される
  • 入出力関数が失敗した場合、その原因がエラーとファイル終端のどちらであるかは、この関数とfeof()で判別する

#include <cstdio>

int main()
{
  // 読み込み専用で開いたストリームへ書き込みを行う
  std::FILE* fp = std::fopen("test.txt", "w");
  std::fclose(fp);
  fp = std::fopen("test.txt", "r");

  std::fputc('A', fp);
  std::printf("%d\n", std::ferror(fp) != 0);

  std::fclose(fp);
}

出力

1

関連項目