0

我想从文件(.txt)中读取数据并推入编辑框。我正在用纯 API 编写 C++。

HANDLE hFile;
HANDLE hMapFile;
LPVOID pMemory;

case IDM_OPEN:
            hFile = CreateFile((LPCWSTR)szFileName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);
            hMapFile = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
            pMemory = MapViewOfFile(hMapFile, FILE_MAP_READ | FILE_MAP_WRITE, 0,0,0);
            FileSize = GetFileSize(hFile, NULL);
            SendMessage(hWndEdit, WM_SETTEXT, 0, (LPARAM)(LPCWSTR)pMemory);
            MessageBox(hWnd, (LPCWSTR)pMemory, L"Caption", MB_OK);
            UnmapViewOfFile(pMemory);
            CloseHandle(hMapFile);
            CloseHandle(hFile);
            break;

结果:空白,编辑框中没有任何内容

我搜索了一些页面但没有解决。

当我尝试通过设置断点进行调试时,如下图所示:

http://i8.upanh.com/2013/1103/02//57993893.untitled.png

(抱歉我不能发图)

hFile 是 0xffffffff,所以我认为错误是 CreateFile,但我不明白!

请帮我解决这个问题。谢谢 !!!

4

1 回答 1

1
hFile = CreateFile((LPCWSTR)szFileName,....

为什么选择 LPCWSTR?如果您需要该演员表,那您就做错了。使用调试器调查每个步骤,以了解有关问题的更多信息。

于 2013-11-03T02:46:08.757 回答