arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
ferror()
ferror()

この関数の目的

ferror()は、ストリームのエラー指示子を調べる。

定義

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

働き

この関数は stream で指されるストリームのエラー指定子を検査し、セットされていた場合にのみゼロでない数を返す。

解説

近年のパーソナルコンピュータは、ファイル入出力時に EOF 以外のエラーを発生させることはめったにない。だからといってチェックを怠っていいかというと、ほとんどの場合怠っても問題ない。 ただ、ソースを他の処理系でも使いたいと思ったら、もう少し神経質になったほうが安全である。

feof() に示してあるサンプルをもう少し神経質にしたものを以下に示す。

{
	FILE *fp;
	int c;
	if(fp = fopen(name, "rb")){
		for(; (c = getc(fp)) != EOF || (!feof(fp) && !ferror(fp));){
			/* ... */
		}
	}
}
arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
KC