2012-07-10 40 views
2

我需要在Windows中處理大於4GB的大量文件。 我使用FILE和fread()讀取一個文件(大約40GB),並在VS2010 Debug-x64中編譯我的代碼,但文件無法完全讀取。如何在Windows中完整讀取大於4GB的文件?

正如我在C++ lib的源文件中發現的,FILE結構中的成員是32位(int),所以我找到了失敗的原因,但是我應該怎麼做才能使文件完全讀取?

+0

您是否分配了40 GB的連續內存?如果沒有,你可以閱讀文件的部分,這將是建議。 – Ajay 2012-07-11 08:24:30

回答

0

如果您只關心在Windows上運行,則可以使用CFile對象。它的成員是64位。

+0

謝謝,但是如果我更喜歡C風格的代碼呢?我 – ithlony 2012-07-11 14:49:59

+0

使用Win32 API函數的文件。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa364232(v=vs.85).aspx – 2012-07-11 15:26:27

+0

@JoeWillcoxson:'CFile'沒有64位[Read](https: //msdn.microsoft.com/en-us/library/ctka0kks(v=vs.120).aspx)函數。 – ahmd0 2017-07-17 00:23:06

相關問題