我的应用程序出现问题,因为读取文件也包含Unicode字符时。由于我正在使用CreateFileA
方法来获取数据,但无法正确获取Unicode字符,因此我面临很多问题。另外,我不知道CreateFileA
和CreateFileW
之间的区别。
对不起,我无法共享我的代码。我将与您分享那部分代码。
HANDLE systemFileHandle = INVALID_HANDLE_VALUE;
systemFileHandle = CreateFileA(Filename, GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
char* inBuffer=new char[totalFileSize+2];
memset(inBuffer, 0, totalFileSize+2);
ReadFile(systemFileHandle, inBuffer, totalFileSize, &bytesRead, nullptr);
And, I am getting the results on inBuffer array be like : Fernw�rmestationSW Au�en.
我不能以原来的方式得到它吗?
所以您能帮我这个忙吗?这可能非常有帮助。
答案 0 :(得分:0)
CreateFileA
采用基于ANSI的文件名,而CreateFileW
采用基于Unicode的文件名。关于文件的内容没有什么可说的,两者都会向文件返回HANDLE
,然后您就可以根据需要读取/写入Unicode内容。