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

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

Patricia Arquette
Patricia Arquetteasal
2024-10-27 19:30:30497semak imbas

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

Menukar CString kepada Const char* dalam Aplikasi Unicode MFC

Masalah:

Bagaimana boleh Saya menukar CString, terutamanya apabila ia mengandungi aksara TCHAR, kepada representasi const char* dalam aplikasi Unicode MFC?

Penyelesaian:

Untuk menukar CString TCHAR dengan berkesan kepada ASCII, anda harus menggunakan makro CT2A. Makro ini bukan sahaja membenarkan penukaran ASCII tetapi juga membolehkan penukaran kepada UTF8 atau halaman kod Windows yang lain. Berikut ialah beberapa contoh untuk menunjukkan penggunaannya:

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

Selain itu, terdapat makro untuk menukar daripada ASCII kepada Unicode (CA2T). Anda boleh menggunakan makro ini dalam aplikasi ATL/WTL dengan syarat anda mempunyai VS2003 atau lebih baru. Maklumat lebih terperinci boleh didapati dalam dokumentasi MSDN.

Atas ialah kandungan terperinci Bagaimana untuk Menukar CString kepada const char* dalam Aplikasi Unicode MFC?. 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