更新时间:2021-12-21 06:33:16
根据 CodeGuru :
CString
到 std :: string
:
CString cs("Hello");
std::string s((LPCTSTR)cs);
但: std :: string
不能总是从 LPCTSTR
构造.即该代码将无法用于UNICODE构建.
BUT: std::string
cannot always construct from a LPCTSTR
. i.e. the code will fail for UNICODE builds.
由于 std :: string
只能从 LPSTR
/ LPCSTR
构造,因此使用VC ++ 7.x或更高版本的程序员可以利用转换类,例如 CT2CA
作为中介.
As std::string
can construct only from LPSTR
/ LPCSTR
, a programmer who uses VC++ 7.x or better can utilize conversion classes such as CT2CA
as an intermediary.
CString cs ("Hello");
// Convert a TCHAR string to a LPCSTR
CT2CA pszConvertedAnsiString (cs);
// construct a std::string using the LPCSTR input
std::string strStd (pszConvertedAnsiString);