CString->std::string 举例如下:
CString strMfc=“test“;
std::string strStl;
#ifdef _UNICODE
USES_CONVERSION
strStl=W2A(strMfc.LockBuffer());
strMfc.UnlockBuffer();
#else
strStl = strMfc.GetBuffer(0);
strMfc.ReleaseBuffer();
#endif
std::string->CString 举例如下:
CString strMfc;
std::string strStl=“test“;
strMfc=strStl.c_str();
BSTR -> std::string 举例如下
BSTR bstrTest = ::SysAllocString(L”Test”);
_bstr_t bstr_t(bstrTest);
std::strStl = bstr_t;
SysFreeString(bstrTest );
std::string -> BSTR 举例如下
std::string name = "nisb";
_bstr_t bstr_t(name.c_str());
BSTR ret_val = bstr_t.GetBSTR();
本文介绍如何在MFC的CString与标准模板库STL的std::string之间进行转换,包括不同编码间的适配方法。同时展示了BSTR与std::string相互转换的例子。
7343

被折叠的 条评论
为什么被折叠?



