6
我正在C++中使用ifstream實現一個程序,它必須在大文件(〜1TB)中尋找。但是,閱讀2GB後,這失敗了。有沒有辦法獲得檔案職位,即使是大型檔案?我編譯了一個32位的Windows機器。用ifstream在大文件中尋找
std::ifstream f;
f.open(filename.c_str(), std::ifstream::in | std::ifstream::binary);
while(true) {
std::cout << (uint64_t)(f.tellg()) << std::endl;
//read data
}
我不知道如果這實際上改變什麼,但是你有沒有嘗試過使用簡單的C選擇閱讀文件? – stefan 2012-07-12 09:44:03
@stefan有普通的C文件位置處理程序,其大小大於32位? – triclosan 2012-07-12 11:01:20
正如我所說@triclosan:我不知道,這只是一個想法 – stefan 2012-07-12 11:20:20