CString 和 string的互换

来源:互联网 发布:熊猫pdd淘宝小吃名字 编辑:程序博客网 时间:2024/05/16 05:13

首先,CString和string都是C++中的字符串模板类,string作为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;而CString(typedef CStringT > CString)是Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI)、wchar_t(unicode)、TCHAR(ANSI与unicode均可)。

再说它们的构造。string几乎可以从所有的字符串构造而来,包括CString和char*;而CString只能从基本的字符串变量构造而来,如char*。

CString和string的相互转换:

CString to std::string:

方法一:USES_CONVERSION;CString CStr;CStr = _T("CString to string");char* temp_char = W2A(CStr);std::string str = temp_char;方法二:CString CStr;CStr = _T("CString to string");std::string str = CStr.GetBuffer(0);

std::string to CString:

std::string str = "string to CString";CString CStr = str.c_str();
原创粉丝点击