关于CreateFile函数?

CreateFile
我用QT编译时为什么会报错呢
D:\project\Qt\123456\main.cpp:14: 错误:cannot convert 'const char*' to 'const WCHAR*' for argument '1' to 'void* CreateFileW(const WCHAR*, DWORD, DWORD, _SECURITY_ATTRIBUTES*, DWORD, DWORD, void*)'

hFile = CreateFile("5.txt",GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);

这样有错么?

POPMUISE
浏览 922回答 2
2回答

杨__羊羊

不行的话你就强制写CreateFileA而不是CreateFile吧。CreateFile有两个版本,CreateFileA和CreateFileW。只写CreateFile的话它会根据工程的设置自动选择一个来用。另外我赞成 _T 宏的方式,这也是让编译器自动选择一种字符串的表示方式来用

凤凰求蛊

常量字符串默认是char*,你的代码需要强制类型转换,请用如下方法试试:hFile = CreateFile(L"5.txt",GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);或者hFile = CreateFile(_T("5.txt"),GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
打开App,查看更多内容
随时随地看视频慕课网APP