3 回答
TA贡献1794条经验 获得超8个赞
要将TCHARCString 转换为ASCII,请使用CT2A宏-这还将允许您将字符串转换为UTF8(或任何其他Windows代码页):
// Convert using the local code page
CString str(_T("Hello, world!"));
CT2A ascii(str);
TRACE(_T("ASCII: %S\n"), ascii.m_psz);
// Convert to UTF8
CString str(_T("Some Unicode goodness"));
CT2A ascii(str, CP_UTF8);
TRACE(_T("UTF8: %S\n"), ascii.m_psz);
// Convert to Thai code page
CString str(_T("Some Thai text"));
CT2A ascii(str, 874);
TRACE(_T("Thai: %S\n"), ascii.m_psz);
还有一个宏可以从ASCII-> Unicode(CA2T)转换,只要您拥有VS2003或更高版本,就可以在ATL / WTL应用程序中使用它们。
TA贡献1982条经验 获得超2个赞
如果您的CString是Unicode,则需要转换为多字节字符。幸运的是,有一个CString版本可以自动执行此操作。
CString unicodestr = _T("Testing");
CStringA charstr(unicodestr);
DoMyStuff((const char *) charstr);
- 3 回答
- 0 关注
- 1207 浏览
添加回答
举报