Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Section spécifique à Microsoft
Pour simplifier le développement de code pour les marchés internationaux, la bibliothèque Runtime Microsoft fournit des mappages de « texte générique » spécifiques à Microsoft pour de nombreux types de données, routines et autres objets. Ces mappages sont définis dans TCHAR.H. Vous pouvez utiliser ces mappages de nom pour écrire du code générique qui peut être compilé pour n’importe lequel des trois types de jeux de caractères : ASCII (SBCS), MBCS ou Unicode, en fonction d’une constante manifeste que vous définissez à l’aide d’une instruction #define. Les mappages de texte générique sont des extensions Microsoft qui ne sont pas compatibles ANSI.
Directives de préprocesseur pour les mappages de texte générique
#define |
Version compilée | Exemple |
|---|---|---|
_UNICODE |
Unicode (caractères larges) |
_tcsrev est mappé à _wcsrev |
_MBCS |
Caractères multioctets |
_tcsrev est mappé à _mbsrev |
Aucun (valeur par défaut : à la fois _UNICODE et _MBCS non défini) |
SBCS (ASCII) |
_tcsrev est mappé à strrev |
Par exemple, la fonction _tcsrevde texte générique, définie dans TCHAR.H, est mappée si _mbsrev_MBCS elle a été définie dans votre programme ou si _wcsrev_UNICODE elle a été définie. Sinon, _tcsrev est mappée à strrev.
Le type _TCHARde données de texte générique, également défini dans TCHAR.H, est mappé au type char s’il _MBCS est défini, au type wchar_t s’il _UNICODE est défini et au type char si aucune constante n’est définie. D’autres mappages de types de données sont fournis pour TCHAR.H faciliter la programmation, mais _TCHAR il s’agit du type le plus utile.
Mappages de types de données de texte générique
| Nom de type de données de texte générique | SBCS (_UNICODEnon _MBCS défini) |
_MBCS défini |
_UNICODE défini |
|---|---|---|---|
_TCHAR |
char |
char |
wchar_t |
_TINT |
int |
int |
wint_t |
_TSCHAR |
signed char |
signed char |
wchar_t |
_TUCHAR |
unsigned char |
unsigned char |
wchar_t |
_TXCHAR |
char |
unsigned char |
wchar_t |
_T ou _TEXT |
Aucun effet (supprimé par le préprocesseur) | Aucun effet (supprimé par le préprocesseur) |
L (convertit le caractère suivant ou la chaîne suivante en son équivalent Unicode) |
Pour obtenir la liste complète des mappages de texte générique de routines, de variables et d’autres objets, consultez mappages de texte générique.
Les fragments de code suivants illustrent l’utilisation de _TCHAR et _tcsrev pour le mappage sur les modèles MBCS, Unicode et SBCS.
_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);
Si _MBCS a été défini, le préprocesseur mappe le fragment précédent sur le code suivant :
char *RetVal, *szString;
RetVal = _mbsrev(szString);
Si _UNICODE a été défini, le préprocesseur mappe le même fragment sur le code suivant :
wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);
Si les deux _MBCS et _UNICODE n’ont pas été définis, le préprocesseur mappe le fragment au code ASCII à un octet, comme suit :
char *RetVal, *szString;
RetVal = strrev(szString);
Ces macros vous permettent d’écrire, de gérer et de compiler un fichier de code source unique à l’aide de routines spécifiques aux trois types de jeux de caractères.
FIN de la section spécifique à Microsoft
Voir aussi
Mappages de texte générique
Mappages de types de données
Mappages de variables constantes et globales
Mappages de routine
Exemple de programme de texte générique