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'
遇到这个问题怎办呢,求指教
在网上看到说设置编译器的字符属性就可以 ,我试过,但是仍然有这样的错误,请问这个怎么改呢???
path.c_str()
试过了,依然行不通。
@何合: 如果提示的是 CreateFileA ,那么你的项目的的字符集设置应该是“使用多字节字符集”。你非要说不行,除非是你把项目的字符集又改成了“使用Unicode字符集”,然后新的错误就是 CreateFileW 了。