• ベストアンサー

freadの最後

100文字くらいのファイルのファイルポインタfpがあるとして、 char ch[200]; fread(ch,sizeof(char),sizeof(ch),fp) とした場合にchの中で、ファイルの最後っていうのを判断するにはどうすればいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

一般的には 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]まで有効 */

ainobakuda
質問者

お礼

ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4896/10350)
回答No.2

戻り値、つまり読み込んだバイト数がゼロなら、ファイルの終わりです。

ainobakuda
質問者

お礼

ありがとうございました

すると、全ての回答が全文表示されます。
FMVA2400Xの添付像表示問題を解決
このQ&Aのポイント
  • FMVA2400Xの中古購入者が添付像が頻繁に表示される問題に直面。
  • Amazonからはバッテリー性能80%以上の確認済みとの回答が得られたが、別の問題も発生。
  • 交換せずに解決方法を探しているユーザーが情報を求める。
回答を見る

専門家に質問してみよう