私はWindows 7、64ビット、およびNTFSを使用しています。32 ビットでなければならない DLL を構築しています。C++ で実装したい非常に単純なルーチンがあります。次を使用して大きなファイルを読み取っています。
unsigned long p;
ifstream source(file);
streampos pp(p);
source.seekg(pp);
4GB を超えるファイルの場合、 unsigned long long を使用してみましたが、うまくいきません。私は何を間違っていますか?私は GNU GCC を使用していますが、MSVC Express 2008/2010 を試してみると役に立ちますか?
アップデート:
私のGCCに何か問題があるようです。現在、MSVC を使用してあなたの提案をテストしていますが、うまくいっているようです。MSVC は _int64 を使用して streampos/streamoff オブジェクトを表します。後で GCC で確認します。