奇怪的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;
}
文件被打开没有错误(不知道是目标文件)..由于某种原因,在我的应用程序运行空文件“E”(wiout extention)在CreateFile调用期间创建的目录。这有什么不对?
答案 0 :(得分:9)
删除文件名字符串的L
前缀。您正在调用CreateFile
(CreateFileA
)的窄版本并传入一个宽字符串。
或者,您可以将VS设置为使用Unicode构建应用程序。
在任何一种情况下,您都应该使用_T()
宏来设置适当的字符串类型。即。
HANDLE hFile = CreateFile(_T("E:\\temp\\1.txt"),