C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス ferror

🔧 入出力 ・ stdio.h ・ C89

ferror の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

int ferror(FILE *stream);

どんな関数か

直前のストリーム操作でエラーが発生したかどうかを調べる。feofと対で使い、読み込みが止まった理由が終端かエラーかを区別するために使う診断用の関数。 エラー発生後もストリームの状態はクリアされないため、再試行前にclearerrで状態を戻す必要がある。

使用例

#include <stdio.h>
int main(void) {
    FILE *fp = fopen("data.txt", "r");
    char buf[16];
    if (fp) {
        fread(buf, 1, sizeof buf, fp);
        if (ferror(fp)) puts("read error");
        fclose(fp);
    }
    return 0;
}

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

ferror と一緒に使う関数

feof直前の入力操作がファイル終端に達したかどうかを調べる。まだ終端に達していないのに次の読み取りを先読みして初めてEOFにな… perror直前のライブラリ関数呼び出しで設定されたerrnoをもとに、指定文字列に続けてエラー内容を人間が読める形で標準エラー出力…

同じ分類(入出力)の関数

fclose feof fflush fgetc fgets fopen fprintf fputc fputs fread fscanf fseek ftell fwrite getchar gets_s

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る