- ベストアンサー
freadの最後
100文字くらいのファイルのファイルポインタfpがあるとして、 char ch[200]; fread(ch,sizeof(char),sizeof(ch),fp) とした場合にchの中で、ファイルの最後っていうのを判断するにはどうすればいいですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一般的には if ( ch[i] == XX ) { 最後; } といった判定方法ではできません。 freadの仕様をマニュアルで確認してください。 freadは実際に読み込んだデータ数を返します それを使うしか無いでしょう。 readed_size = fread(ch, sizeof(ch[0]), sizeof(ch)/sizeof(ch[0]), fp ) ; /* ch[0]~ch[readed_size-1]まで有効 */
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
戻り値、つまり読み込んだバイト数がゼロなら、ファイルの終わりです。
質問者
お礼
ありがとうございました
お礼
ありがとうございました!