CString 到char*:转换要求 reinterpret_cast、C 样式转换或函数样式转换

在函数调用时,函数(自己写的一个函数)的形参是char * 而实参是CString(需要传递的是某个文件的路径),

调用出现错误(使用的集成环境是Microsoft Visual Studio 2010 专业版)。

然后按照网页里的方法,调用CString类的成员函数GetBuffer()出现错误:

从“wchar_t *”转换为“char *”与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换。

最后查了一下MSDN里的CString类的成员函数,发现有GetAt()方法,于是使用下述方法修改成功:

CString s("F:\\MFC\\test.cpp");
char c[100];
int i;
for(i=0;i<s.GetLength();i++)
{
	c[i]=s.GetAt(i);
}
c[i]='\0';

当然文件路径要想正常的使用还需要一点儿转换(即\到\\),这里就不详说啦!

你可能感兴趣的:(CString 到char*:转换要求 reinterpret_cast、C 样式转换或函数样式转换)