Article View: japan.comp.lang.visual-c++
Article #46Re: ferror 関数について
From: KANEKO Yutaka
Date: Thu, 22 Jan 1998 00:00
Date: Thu, 22 Jan 1998 00:00
45 lines
2648 bytes
2648 bytes
金子@仙台電波です。
<6a6kg7$1oo$1@newsegg01.TokyoNet.AD.JP>の記事において
toshi2@super.win.or.jpさんは書きました。
>> こういう書き方しました。
>> FILE *fp;
>> fp = fopen("FILENAME", "rb");←FILENAMEは存在しない。
>> if(ferror(fp)){
>> exit(1);
>> }
>> でもANSI C言語辞典によるとfopen後のエラー判定はferrorによらなければならな
>> い。
平林雅英著、「ANSI C言語辞典」、技術評論社、1989
の事ですかね?手元にあるのは、平成4年8月25日発行の初版第7刷
ですが、95頁のferror()の項目に
・注意
(1) 文字入出力関数がバイナリ・ストリームを通した入出力を
する場合は、ferror関数によらなければいけない。
(2) 略
とありますがこれはたぶん、fgetc()などの返り値をちゃんとchar型
でなくint型で受けている限りは大丈夫なはずです。'\xff'とEnd Of
Fileが区別できないような実装になっているfgetc()/getc()は普通
ないと思うけどなぁ。しかも、そういう問題は「バイナリモード」
で開いていなくてもありうるし。
それから、ferror()のサンプルにしっかり
FILE *fin=fopen(argv[1],"r");
if (ferror(fin)) printf("ファイルエラー\n");
else printf("ファイル正常\n");
というコードが載っています。いうまでもなく誤りですが、DOSな
んかだと偶然うまく動いてしまうんだろうな。
ま、本に載っている例は必ずしも正しくないってことです。
double x,y,z=1.8;main(a,b){x=(time( /* 金子 裕(Yutaka Kaneko) */
0)%935)/472;while(!0){y=x;x=2-z*(x- /* Sendai National College of Technology */
1)*(x-1);a=(x*631);a%=78;b=(y*95);b /* kaneko@cc.sendai-ct.ac.jp */
%=24;printf("\033[%d;%dHx\n",b,a);}}/*Evanx08,Megax05,Escax07,Fushx16,WedPx07*/
Technical Details
Message-ID:
<6a6tb9$m7$2@dp-cc.cc.tohoku.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<6a3h1r$ibv$1@newsegg00.tokyonet.ad.jp> <6a6kg7$1oo$1@newsegg01.TokyoNet.AD.JP>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10a2c7,1dd3954acd66bbd2 X-Google-Attributes: gid10a2c7,public X-Google-Thread: 106434,1dd3954acd66bbd2 X-Google-Attributes: gid106434,public X-Google-Thread: f869b,1dd3954acd66bbd2 X-Google-Attributes: gidf869b,public From: kaneko@ccedu.sendai-ct.ac.jp (KANEKO Yutaka) Subject: Re: ferror 関数について Date: 1998/01/22 Message-ID: <6a6tb9$m7$2@dp-cc.cc.tohoku.ac.jp> X-Deja-AN: 318269247 References: <6a3h1r$ibv$1@newsegg00.tokyonet.ad.jp> <6a6kg7$1oo$1@newsegg01.TokyoNet.AD.JP> Content-Type: text/plain; charset=ISO-2022-JP Organization: Sendai National College of Technology, Sendai JAPAN. Mime-Version: 1.0 Newsgroups: japan.comp.lang.visual-c++,fj.lang.c,japan.comp.lang.c