下面的代码应该同时适用于多字节字符集和Unicode字符集,上代码:

//将CString转为std::stringstring CMyUtil::CString2string(const CString &cstr){	CStringA stra((TCHAR *)(LPCTSTR)(cstr));	string str((char *)(LPCSTR)(stra));	return str;}//将std::string转为CStringCString CMyUtil::string2CString(const string &str){	CString cstr(str.c_str(), str.length());	return cstr;}

值得说明一下的是,认为下面这个版本完全没必要,因为我们并不需要更改原始CString的内容。

//将CString转为std::string(walker认为没必要这样用)string CMyUtil::CString2string(CString cstr){	CStringA stra(cstr.GetBuffer(0));	cstr.ReleaseBuffer();	string str = stra.GetBuffer(0);	stra.ReleaseBuffer();	return str;}

*** ***