Convertir une CString en const char* dans les applications Unicode MFC
La conversion d'une CString d'Unicode (TCHAR) en ASCII (const char*) est essentiel pour interagir avec le code existant ou les bibliothèques externes dans les applications Unicode MFC. Voici comment y parvenir :
Utilisation de la macro CT2A
La macro CT2A offre un moyen pratique de convertir une chaîne CString Unicode en ASCII. Il prend le CString comme argument et un deuxième argument facultatif pour spécifier la page de codes. Par défaut, il utilise la page de codes locale.
<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>
Cas d'utilisation supplémentaires
La macro CT2A peut également être utilisée pour convertir une chaîne CString Unicode en UTF8 ou tout autre autre page de codes Windows :
<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>
Macro CA2T et compatibilité
Il existe également une macro CA2T complémentaire qui convertit l'ASCII en Unicode. Les macros CT2A et CA2T peuvent être utilisées dans les applications ATL/WTL avec Visual Studio 2003 ou version ultérieure.
Ressources supplémentaires
Pour des informations plus détaillées sur ces macros et la conversion des pages de codes, reportez-vous au Microsoft Developer Network (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!