Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich einen CString in „const char*“ in Unicode-MFC-Anwendungen?

Wie konvertiere ich einen CString in „const char*“ in Unicode-MFC-Anwendungen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 11:38:03723Durchsuche

How to Convert a CString to `const char*` in Unicode MFC Applications?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn