1

可能重复:
如何将 CString 和 ::std::string ::std::wstring 相互转换?

好的,我知道我的问题可能是微不足道的,但我还没有找到如何将 ATL::Cstring 转换为基本字符串。我已经尝试过http://msdn.microsoft.com/en-us/library/ms235631%28v=vs.80%29.aspx页面的“从 CString 示例转换”,但它不起作用。有任何应有的指示吗?

4

1 回答 1

6

这应该工作 -

CStringA cstr1("Hello");
std::string str1(cstr1);

或者

CStringW cstr2(L"Hello");
std::wstring str2(cstr2);

CString是一个可以转换为CStringACStringW取决于是否UNICODE定义的宏。

分配CStringAtostd::wstringCStringWtostd::string将不起作用,这可能是您正在发生的事情。

于 2012-06-28T10:52:28.467 回答