Чтобы преобразовать TCHAR
CString в 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
), который можно использовать в приложениях ATL / WTL, если у вас VS2003 или более поздняя версия.
Подробнее см. MSDN .