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

Linda Hamilton
Lepaskan: 2024-10-26 11:38:03
asal
722 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!