在VS2013中CFile的file.Open 点报错

求教各位,如题
代码如下:
/*把位图文件读入内存*/
CFile File;//从CFile类中生成一个实例File
if (!File.Open("e:\8bitcol.bmp", CFile::modeRead)) return;//打开文件只读,打开成功返回非0值,否则返回0

就是这句中File.Open的.报错,报错信息为:
no instance of overloaded function "CFile::Open" matches the argument list
argument types are:(const char[15], CFile::OpenFlags)
object type is: CFile

代码之前在VC6.0上可以成功运行的

4个回答

改成:
if (!File.Open(_T("e:\8bitcol.bmp"), CFile::modeRead)) return;
试试

u011022227
Starry_lyt 小白只会c
5 年多之前 回复
u011022227
Starry_lyt 小白只会c
5 年多之前 回复
u011022227
Starry_lyt 哇!好了,谢谢!不过我还想问一下,这是什么问题啊?是c++哪部分的内容?c++
5 年多之前 回复

没有安装 VS2013,建议你可以试试将 "e:\8bitcol.bmp" 定义成指针试试。
或者,直接跳转到 File.Open 的声明处看看它都支持什么格式的参数,然后按要求的参数来定义。

或者,先强制类型转换一下,如:if (!File.Open((char *)"e:\8bitcol.bmp", CFile::modeRead)) return; 试试。

91program
91program 如果工程默认是Unicode 版本,则试试 :if (!File.Open((TCHAR *)TEXT("e:\8bitcol.bmp"), CFile::modeRead)) return; 不能用 char *。刚才写错了!
5 年多之前 回复
91program
91program 如果工程默认是Unicode 版本,则试试 :if (!File.Open((char *)TEXT("e:\8bitcol.bmp"), CFile::modeRead)) return;
5 年多之前 回复

或改成:
if (!File.Open(L("e:\8bitcol.bmp"), CFile::modeRead)) return;
试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问