Konvertieren von CString in Const char* in Unicode-MFC-Anwendungen
Problem:
Wie kann Ich transformiere einen CString, insbesondere wenn er TCHAR-Zeichen enthält, in eine const char*-Darstellung in einer Unicode-MFC-Anwendung?
Lösung:
Um einen TCHAR-CString effektiv zu konvertieren Um ASCII zu konvertieren, sollten Sie das CT2A-Makro verwenden. Dieses Makro ermöglicht nicht nur die ASCII-Konvertierung, sondern auch die Konvertierung in UTF8 oder andere Windows-Codepages. Hier einige Beispiele zur Veranschaulichung der Verwendung:
<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); // 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>
Darüber hinaus gibt es ein Makro zur Konvertierung von ASCII nach Unicode (CA2T). Sie können diese Makros in ATL/WTL-Anwendungen verwenden, sofern Sie über VS2003 oder höher verfügen. Genauere Informationen finden Sie in der MSDN-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen CString in ein const char* in Unicode-MFC-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!