为了账号安全,请及时绑定邮箱和手机立即绑定

关于CreateFile函数?

关于CreateFile函数?

POPMUISE 2019-02-06 11:07:17
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);这样有错么?
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-18
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

常量字符串默认是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);

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 917 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信