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 關注
- 1241 瀏覽
添加回答
舉報