• ベストアンサー

大きいファイルのオープンでエラー?

LINUX用ボーランドC++Builderなんですが。 fopen で3.7ギガのファイルを読もうとすると、 fp = fopen( file_path, "r+b" ) fpにnullが入りうまくいかないのですが、どうにかならないでしょうか?当然、小さいファイルは読めます。

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

  • ベストアンサー
回答No.1

そんなに大きなファイルを扱ったことがないので、自信なしですが... fopen()をやめて、open()なら開けますか? 開けるようなら、fxxx()の高機能は使用できませんが、ファイルの中身を読む(read()を使う)ことはできることでしょう。 それでもダメなら、別の要因(単純にfile_pathを間違えているだけかも)でしょうね。 errnoを調べるとヒントがあると思います。 参考まで。

lord_chan
質問者

お礼

ありがとうございます。open()でも無理でしたが、open64()にすることでうまく動作しました。

lord_chan
質問者

補足

open()でも開けませんでした。コンパイルした環境がKylix3「Vine LInux」でexeを動作させる環境が「REDHAT7」なんですが、「Vine LInux」の方は大きいファイルでも動きました。問題が「REDHAT7」でexeを動かしたときに起きるようです。「REDHAT7」でKylixが動けば良いんですが、「REDHAT7」でKylixが動かない(コンパイルが失敗する)のです。原因がわかりませんでしょうか?「REDHAT7」でKylixを動作させている方、おられますか?

関連するQ&A