c语言 读取 文件大小,c – ifstream :: ifstream可以读取的最大文件大小是多少
我嘗試使用ifstream讀取3GB數據文件,它給我錯誤的文件大小,而當我讀取600MB文件時,它給了我正確的結果.除了錯誤的文件大小,我也無法使用ifstream讀取整個文件.
這是我使用的代碼
std::wstring name;
name.assign(fileName.begin(), fileName.end());
__stat64 buf;
if (_wstat64(name.c_str(), &buf) != 0)
std::cout << -1; // error, could use errno to find out more
std::cout << " Windows file size : " << buf.st_size << std::endl;;
std::ifstream fs(fileName.c_str(), std::ifstream::in | std::ifstream::binary);
fs.seekg(0, std::ios_base::end);
std::cout << " ifstream file size: " << fs.tellg() << std::endl;
3GB文件的輸出是
Windows file size : 3147046042
ifstream file size: -1147921254
而600 MB文件的輸出是
Windows file size : 678761111
ifstream file size: 678761111
為了以防萬一,我還測試了5GB文件和300 MB文件,
5GB文件的輸出是
Windows file size : 5430386900
ifstream file size: 1135419604
300MB文件的輸出是
Windows file size : 318763632
ifstream file size: 318763632
它看起來像是達到了一些限制.
我正在Windows機器上使用Visual Studio 2010測試代碼,該機器具有足夠的內存和磁盤空間.
我正在嘗試閱讀一些大文件.如果ifstream無法讀取大文件,那么使用哪個好的流閱讀器?
總結
以上是生活随笔為你收集整理的c语言 读取 文件大小,c – ifstream :: ifstream可以读取的最大文件大小是多少的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 陕西国防 c语言第三章实训三答案,C语言
- 下一篇: 企业c语言的编程风格,c语言优秀编程风格