Heim >Backend-Entwicklung >C++ >Wie konvertiere ich einen CString in „const char*' in Unicode-MFC-Anwendungen?
CString in const char* in Unicode-MFC-Anwendungen konvertieren
Das Konvertieren eines CStrings von Unicode (TCHAR) in ASCII (const char*) ist Unverzichtbar für die Interaktion mit Legacy-Code oder externen Bibliotheken in Unicode-MFC-Anwendungen. So können Sie dies erreichen:
Verwenden des CT2A-Makros
Das CT2A-Makro bietet eine praktische Möglichkeit, einen Unicode-CString in ASCII zu konvertieren. Es verwendet den CString als Argument und ein optionales zweites Argument, um die Codepage anzugeben. Standardmäßig wird die lokale Codepage verwendet.
<code class="cpp">// Convert using the local code page CString str(_T("Hello, world!")); CT2A ascii(str); TRACE(_T("ASCII: %S\n"), ascii.m_psz);</code>
Weitere Anwendungsfälle
Das CT2A-Makro kann auch zum Konvertieren eines Unicode-CStrings in UTF8 oder einen anderen verwendet werden andere Windows-Codepage:
<code class="cpp">// 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);</code>
CA2T-Makro und Kompatibilität
Es gibt auch ein ergänzendes CA2T-Makro, das von ASCII in Unicode konvertiert. Sowohl die CT2A- als auch die CA2T-Makros können in ATL/WTL-Anwendungen mit Visual Studio 2003 oder höher verwendet werden.
Zusätzliche Ressourcen
Ausführlichere Informationen zu diesen Makros Informationen zur Codepage-Konvertierung finden Sie im Microsoft Developer Network (MSDN).
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!