バイナリ ファイルを読み込もうとしていて、そのサイズを確認する必要がありますが、試した方法に関係なく、サイズがゼロになっています。
例えば:
fstream cbf(address, ios::binary | ios::in | ios::ate);
fstream::pos_type size = cbf.tellg(); // Returns 0.
char* chunk = new char[size];
cbf.read(chunk, size);
//...
以下を使用する場合:
#include <sys/stat.h>
struct stat st;
stat(address.c_str(),&st);
int size = st.st_size;
サイズはまだゼロです。以下も試しましたが、まだゼロです。
File* fp;
fp = open(address.c_str(), "rb");
ファイルのサイズを取得するにはどうすればよいですか?
回答ありがとうございます...問題を特定しました:アクセスしようとしていたバイナリファイルは実行中に作成され、読み取ろうとする前に閉じるのを忘れていました...