现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

CString转换为string的做法

2012-07-14 23:04 工业·编程 ⁄ 共 494字 ⁄ 字号 暂无评论

CString转换为std::string,网上通行的做法是利用CString的GetBuffer函数。具体做法如下(编译环境为VS C++ 2005+sp1, Win XP+sp3,多字节字符集编译,以下同):

CString strMFC= _T("Hello!");

std::string str2(strMFC.GetBuffer());

strMFC.ReleaseBuffer();

CString strMFC= _T("Hello!"); std::string str2(strMFC.GetBuffer()); strMFC.ReleaseBuffer();

这种做法在unicode字符集下也可行。今天我探索了一种新做法,具体做法是:

CString strMFC= _T("Hello!");

TCHAR *psz = (TCHAR*)(LPCTSTR)strMFC;

std::string str3 = psz;

CString strMFC= _T("Hello!"); TCHAR *psz = (TCHAR*)(LPCTSTR)strMFC; std::string str3 = psz;

这种做法在unicode字符集下也可行。

给我留言

留言无头像?