ferror

ファイルのエラー状態の検知を行う

【書式】
#include <stdio.h>
int ferror(FILE *fp);

【説明】
ファイルfpのエラー指示子をチェックします。
例えば、"w"(書き込み)モードでfopenしたファイルに読み込み動作を行うと、ファイルエラーが発生し、ファイルのエラー指示子(記憶場所は処理系に依存)が設定されます。ファイルオープン時のエラーはfopen関数で検知できますが、書き込み読み込み動作でのエラーはferror関数で行います。
エラー指示子のクリアはclearerr関数で行います。

【引数】
FILE *fp : FILEポインタ

【戻り値】
エラー指示子が設定されている場合  : ≠0
エラー指示子が設定されていない場合 : =0

【使用例】
/* 書き込みモードでオープンしたファイルを読み込む場合 */
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
        FILE *fp;
        int c;

        if((fp = fopen(argv[1], "w")) == NULL ) {
                fprintf(stderr,"ファイルオープンエラー\n");
                exit(EXIT_FAILURE);
        }

        /* ファイル読み込み */
        c = fgetc(fp);
        putchar(c);

        if(ferror(fp)!=0)
        {
                /* エラー発生 */
                printf("ファイルエラーが発生しました\n");

                /* エラー指示子をクリア */
                clearerr(fp);
        }

        fclose(fp);
        return 0;
}
【実行結果】
ファイルエラーが発生しました

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved