Conversion de CString en Const char* dans les applications Unicode MFC
Problème :
Comment peut-on Je transforme une CString, en particulier lorsqu'elle contient des caractères TCHAR, en une représentation const char* dans une application Unicode MFC ?
Solution :
Pour convertir efficacement une CString TCHAR en ASCII, vous devez utiliser la macro CT2A. Cette macro permet non seulement la conversion ASCII, mais permet également la conversion en UTF8 ou d'autres pages de codes Windows. Voici quelques exemples pour démontrer son utilisation :
<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>
De plus, il existe une macro pour convertir de l'ASCII en Unicode (CA2T). Vous pouvez utiliser ces macros dans les applications ATL/WTL à condition que vous disposiez de VS2003 ou d'une version ultérieure. Des informations plus détaillées peuvent être trouvées dans la documentation MSDN.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!