Konvertieren von CString in const char* in Unicode-MFC-Anwendungen
Konvertieren eines TCHAR-CStrings in ASCII in einer Unicode-MFC-Anwendung erfordert die Verwendung von CT2A-Makro. Dieses Makro ermöglicht die Konvertierung der Zeichenfolge in verschiedene Kodierungen, einschließlich ASCII, UTF8 und andere.
Codebeispiel:
So konvertieren Sie einen CString in ASCII mithilfe von lokale Codepage:
<code class="cpp">CString str(_T("Hello, world!")); CT2A ascii(str); TRACE(_T("ASCII: %S\n"), ascii.m_psz);</code>
So konvertieren Sie in UTF8:
<code class="cpp">CString str(_T("Some Unicode goodness")); CT2A ascii(str, CP_UTF8); TRACE(_T("UTF8: %S\n"), ascii.m_psz);</code>
So konvertieren Sie in eine bestimmte Codepage, z. B. Thailändisch (874):
<code class="cpp">CString str(_T("Some Thai text")); CT2A ascii(str, 874); TRACE(_T("Thai: %S\n"), ascii.m_psz);</code>
Zusätzlich gibt es ein Makro namens CA2T für die Konvertierung von ASCII nach Unicode, das in ATL/WTL-Anwendungen mit Visual Studio 2003 oder höher verwendet werden kann.
Weitere Details finden Sie in der MSDN-Dokumentation zu diesen Makros.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen CString in const char* in Unicode-MFC-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!