将CString转换为const char *

如何在Unicode MFC应用程序中从转换CStringconst char*



12345678_0001
浏览 1208回答 3
3回答

幕布斯7119047

要将TCHARCString 转换为ASCII,请使用CT2A宏-这还将允许您将字符串转换为UTF8(或任何其他Windows代码页):// Convert using the local code pageCString str(_T("Hello, world!"));CT2A ascii(str);TRACE(_T("ASCII: %S\n"), ascii.m_psz);// Convert to UTF8CString str(_T("Some Unicode goodness"));CT2A ascii(str, CP_UTF8);TRACE(_T("UTF8: %S\n"), ascii.m_psz);// Convert to Thai code pageCString str(_T("Some Thai text"));CT2A ascii(str, 874);TRACE(_T("Thai: %S\n"), ascii.m_psz);还有一个宏可以从ASCII-> Unicode(CA2T)转换,只要您拥有VS2003或更高版本,就可以在ATL / WTL应用程序中使用它们。

临摹微笑

如果您的CString是Unicode,则需要转换为多字节字符。幸运的是,有一个CString版本可以自动执行此操作。CString unicodestr = _T("Testing");CStringA charstr(unicodestr);DoMyStuff((const char *) charstr);
打开App,查看更多内容
随时随地看视频慕课网APP