Maison  >  Article  >  développement back-end  >  Comment convertir une CString en « const char* » dans les applications Unicode MFC ?

Comment convertir une CString en « const char* » dans les applications Unicode MFC ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 11:38:03723parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn