首页 新闻 会员 周边 捐助

字符转换,编码

0
悬赏园豆:10 [已解决问题] 解决于 2012-12-03 16:40

HANDLE WinFileSys::OpenFile(string path)
{
HANDLE hFile;
//打开已经存在的文件,读取内容。
hFile = CreateFile(path,// 要打开的文件名
GENERIC_READ, // 以读方式打开
NULL, // 可共享读
NULL, // 默认安全设置
OPEN_EXISTING, // 只打开已经存在的文件
FILE_ATTRIBUTE_NORMAL, // 常规文件属性
NULL); // 无模板
if(hFile==INVALID_HANDLE_VALUE)
{
printf("打开文件失败:%d",GetLastError());
CloseHandle(hFile); // 一定注意在函数退出之前对句柄进行释放

}
return hFile ;
}

 

 

error C2664: 'CreateFileA' : cannot convert parameter 1 from 'std::string' to 'LPCSTR'

 

遇到这个问题怎办呢,求指教

在网上看到说设置编译器的字符属性就可以 ,我试过,但是仍然有这样的错误,请问这个怎么改呢???

何合的主页 何合 | 初学一级 | 园豆:177
提问于:2012-11-19 20:40
< >
分享
最佳答案
0

path.c_str()

收获园豆:10
Launcher | 高人七级 |园豆:45050 | 2012-11-20 11:00

试过了,依然行不通。

何合 | 园豆:177 (初学一级) | 2012-11-20 14:36

@何合: 如果提示的是 CreateFileA ,那么你的项目的的字符集设置应该是“使用多字节字符集”。你非要说不行,除非是你把项目的字符集又改成了“使用Unicode字符集”,然后新的错误就是 CreateFileW 了。

Launcher | 园豆:45050 (高人七级) | 2012-11-20 15:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册