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!