我想出了一种复杂的方法来将CStringW
转换为std::string
,但是我想知道是否有比以下更干净的方法:
CStringW cwstr;
std::wstring stdwstr = cwstr;
std::string stdstr = CW2T(stdwstr.c_str());
最佳答案
您可以剪掉中间的std::wstring
:
CStringW cwstr;
std::string stdstr = CW2A(cwstr);
另请注意,您需要
CW2A
宏来确保正确性。 CW2T
转换为TCHAR
字符串,因此您发布的代码只能针对ANSI构建进行编译(其中TCHAR
是char
)。