HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
C言語辞典
ferror関数
ferror function
語源
file error(ファイル・エラー)
分類
C/C++標準ライブラリ/関数/入出力関数/ファイルエラー操作関数
名称
ファイルエラー検出関数(file error detecting function)
類似
feof関数
関連
fopen関数, clearerr関数, rewind関数
解説
ferror関数は、ファイルのエラーを検出する関数です。ストリーム*stream のファイル・エラー指示子を検査します。ferror関数により、オープン後のファイルのエラー状態の検出が出来る。ファイル・エラー指示子のエラー状態は clearerr関数で解除できます。
関数原型宣言ヘッダ
<stdio.h>
関数原型宣言例
ストリーム(非NULL)
↓
int ferror(FILE *stream);
↓
非0:エラー
0:非エラー
関数返却値
①*stream のファイル・エラー指示子が設定されているときは非0 を返します。
②設定されてなければ 0 を返します。
落とし穴
stream が NULL であった場合の規定はありません。従って、ファイル・オープンの成功有無の判定には ferror関数は使用できません。
関数定義例
この定義例は互換性はありません。一例として示しました。この場合、FILE の flagsメンバの4ビット目がファイル・エラー指示子です。
#include <stdio.h> // FILE
int ferror( // ファイルエラー関数 File Error
FILE *stream) // ストリーム
{
return stream->flags & 0x0010;
//[解説]0010(16)==0001 0000(2)
} // ferror
ファイル・エラー
ファイル・エラーの一例です。
// ferror1.c
#include <stdio.h> // FILE,ferror,fopen,puts
#include <stdlib.h> // EXIT_SUCCESS
int main(int argc,char *argv[])
{
FILE *sget; // 入力ストリーム Stream GET
sget=fopen(argv[1],"r");
if(ferror(sget))puts("ファイルエラー");
else puts("ファイル正常");
return EXIT_SUCCESS;
} // main
実行結果
>>type ferror1.tes⏎ …… ファイルの内容確認
ファイルが見つかりません. …… ファイルがない趣旨のOSメッセージ
>>ferror1 ferror1.tes⏎
ファイルエラー
>>type ferror2.tes⏎ …… ファイルの内容確認
○○○ …… ファイルの内容
>>ferror1 ferror2.tes⏎
ファイル正常
>>■
HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
◆リンクは、ご自由にお張りください。
Copyright © 1988-2017 Hirabayashi Masahide プライバシーポリシー