ホテルを選ぶとき、これだけは譲れない条件TOP3は?

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

A 回答 (1件)

そんなに大きなファイルを扱ったことがないので、自信なしですが...



fopen()をやめて、open()なら開けますか?
開けるようなら、fxxx()の高機能は使用できませんが、ファイルの中身を読む(read()を使う)ことはできることでしょう。

それでもダメなら、別の要因(単純にfile_pathを間違えているだけかも)でしょうね。
errnoを調べるとヒントがあると思います。

参考まで。

この回答への補足

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

補足日時:2003/07/04 11:17
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/07/04 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報