这是从网上找到的一个方法,具体网址没记住,就当原创吧。
void CStringTostring(CString cstr,string &str)
{
int n = cstr.GetLength(); //按字符计算,str的长度
int len = WideCharToMultiByte(CP_ACP,0,cstr,n,NULL,0,NULL,NULL);//按Byte计算str长度
char *pChStr = new char[len+1];//按字节为单位
WideCharToMultiByte(CP_ACP,0,cstr,n,pChStr,len,NULL,NULL);//宽字节转换为多字节编码
pChStr[len] = '\0';//不要忽略末尾结束标志
str = pChStr;
delete []pChStr;
}
另加一个stringtoCString
CString cstrTemp;
string strTemp = "Hello";
cstrTemp = const_cast<char*>(strTemp.c_str());