任何人都可以幫助我,因爲這裏出了什麼問題? 我不能夠分配使用malloc內存...無法使用MALLOC分配內存
bReadFile = ReadFile(hConsoleFile, &ReadFileBuffer, MaxCharToRead, &CharsRead, NULL);
任何人都可以幫助我,因爲這裏出了什麼問題? 我不能夠分配使用malloc內存...無法使用MALLOC分配內存
bReadFile = ReadFile(hConsoleFile, &ReadFileBuffer, MaxCharToRead, &CharsRead, NULL);
您在調用ReadFile
有&ReadFileBuffer
。您應該將ReadFile
指針傳遞給緩衝區,而不是指向指向緩衝區的指針。
lpBuffer [out]
A pointer to the buffer that receives the data read from a file or device.
由於ReadFileBuffer
是的指針緩衝區,這是你應該通過什麼。
爲ReadFile()
簽名是這樣的:
BOOL WINAPI ReadFile(
__in HANDLE hFile,
__out LPVOID lpBuffer,
__in DWORD nNumberOfBytesToRead,
__out_opt LPDWORD lpNumberOfBytesRead,
__inout_opt LPOVERLAPPED lpOverlapped
);
第二個參數應該是一個指向你的緩衝區,而不是一個指針的指針您的緩衝區。這就是你在&ReadFileBuffer
時所得到的結果。該電話應該是:
bReadFile = ReadFile(hConsoleFile, ReadFileBuffer, MaxCharToRead, &CharsRead, NULL);
該文件有多大?你有多少內存? – Mysticial 2012-02-04 06:15:52
當您嘗試運行該代碼時會發生什麼? – ObscureRobot 2012-02-04 06:16:42
我們需要更多詳細信息 - 您是否收到編譯時錯誤(運行編譯器時出錯)或運行時錯誤(運行程序時發生錯誤?)錯誤消息的文本是什麼? – 2012-02-04 06:17:39