奇怪的CreateFile行为。我已经厌倦了打开文件
HANDLE hFile = CreateFile(L"E:\\temp\\1.txt",
GENERIC_READ,
FILE_SHARE_WRITE,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Could not CreateFile\n");
return;
}打开的文件没有错误(不知道是目标文件)。由于某种原因,在目录中,我的应用程序正在运行在CreateFile调用期间创建的空文件"E"(wiout扩展)。这里怎么了?
发布于 2014-06-18 12:20:06
去掉文件名字符串的L前缀。您正在调用窄版本的CreateFile (CreateFileA),并传入一个宽字符串。
或者,您可以设置VS来使用Unicode构建应用程序。
在这两种情况下,您都应该使用_T()宏来设置适当的字符串类型。即
HANDLE hFile = CreateFile(_T("E:\\temp\\1.txt"),https://stackoverflow.com/questions/24285254
复制相似问题