- WCHAR filePath[256] = {0};
- WCHAR *path = _T("//My Documents//11.txt");
- hd = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);
- if(hd == INVALID_HANDLE_VALUE)
- {
- return GetLastError();
- }
- blError = ReadFile(hd, filePath, 256, &retCount, NULL);
- if(0 == blError)
- {
- return GetLastError();
- }
声明一个BYTE类型data。代替ReadFile中filePath。
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)data, -1, filePath, retCount);
转换data数据到filePath。
在处理文件读取时,使用Windows API CreateFile打开文件并用ReadFile读取内容,发现返回的数据出现乱码。解决方案是将读取到的BYTE数据通过MultiByteToWideChar转换为正确的宽字符字符串。
844





