您的位置:首页 > 其它

MFC中CString和string的相互转换

2014-06-18 16:57 337 查看
下面的代码应该同时适用于多字节字符集和Unicode字符集,上代码:
//将CString转为std::string
string CMyUtil::CString2string(const CString &cstr)
{
CStringA stra((TCHAR *)(LPCTSTR)(cstr));
string str((char *)(LPCSTR)(stra));

return str;
}

//将std::string转为CString
CString CMyUtil::string2CString(const string &str)
{
CString cstr(str.c_str(), str.length());

return cstr;
}
值得说明一下的是,walker认为下面这个版本完全没必要,因为我们并不需要更改原始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;
}


*** walker ***
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string cstring MFC/VC