Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar CString kepada `const char*` dalam Aplikasi MFC Unicode?

Bagaimana untuk Menukar CString kepada `const char*` dalam Aplikasi MFC Unicode?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 11:38:03723semak imbas

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

Tukar CString kepada const char* dalam Unicode MFC Applications

Menukar CString daripada Unicode (TCHAR) kepada ASCII (const char*) ialah penting untuk berinteraksi dengan kod warisan atau perpustakaan luaran dalam aplikasi Unicode MFC. Begini cara anda boleh mencapai ini:

Menggunakan Makro CT2A

Makro CT2A menyediakan cara yang mudah untuk menukar CString Unicode kepada ASCII. Ia memerlukan CString sebagai hujah dan hujah kedua pilihan untuk menentukan halaman kod. Secara lalai, ia menggunakan halaman kod setempat.

<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>

Kes Penggunaan Tambahan

Makro CT2A juga boleh digunakan untuk menukar Unicode CString kepada UTF8 atau mana-mana halaman kod Windows yang lain:

<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>

Makro dan Keserasian CA2T

Terdapat juga makro CA2T pelengkap yang menukar daripada ASCII kepada Unicode. Kedua-dua makro CT2A dan CA2T boleh digunakan dalam aplikasi ATL/WTL dengan Visual Studio 2003 atau lebih baru.

Sumber Tambahan

Untuk mendapatkan maklumat yang lebih mendalam tentang makro ini dan penukaran halaman kod, rujuk kepada Rangkaian Pembangun Microsoft (MSDN).

Atas ialah kandungan terperinci Bagaimana untuk Menukar CString kepada `const char*` dalam Aplikasi MFC Unicode?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn