Utilisation des mappages de Texte générique

Spécifique à Microsoft

Pour simplifier le développement du code pour des 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 d'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 les trois genres de jeux de caractères : ASCII (SBCS), MBCS, ou Unicode, selon une constante de manifeste vous définissez à l'aide d'une instruction d' #define .les mappages de texte générique sont des extensions Microsoft qui ne sont pas ANSI compatible.

Directives du préprocesseur pour les mappages de texte générique

# define

Version compilée

Exemple

_UNICODE

Unicode (caractère élargi)

_tcsrev correspond à _wcsrev

_MBCS

Caractère multioctets

_tcsrev correspond à _mbsrev

aucun (la valeur par défaut : ni _UNICODE ni _MBCS n'a défini)

SBCS (ASCII)

cartes d'_tcsrevà strrev

Par exemple, la fonction _tcsrevde texte générique, défini dans TCHAR.H, correspond à mbsrev si MBCS a été défini dans votre programme, ou à _wcsrevsi _UNICODEa été défini.Sinon cartes d' _tcsrevà strrev.

Le type de données _TCHARde texte générique, aussi défini dans TCHAR.H, correspond au char si _MBCS est défini, en type wchar_t si _UNICODE est défini, et pour taper char si aucune de ces constante n'est définie.D'autres mappages de types de données sont fournis dans TCHAR.H pour des raisons pratiques de programmation, mais _TCHAR est celui qui est très utile.

Mappages de types de données de texte générique

nom du type de données de texte générique

SBCS (_UNICODE, _MBCS non définis)

_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 après caractère ou chaîne en son équivalent Unicode)

Pour une liste complète des mappages de texte générique des routines, les variables, et autres objets, consultez Mappages de texte générique.

Les fragments de code suivants illustrent l'utilisation d' _TCHAR et d' _tcsrev pour mapper au MBCS, au format Unicode, et aux modèles SBCS.

_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);

Si MBCS a été défini, le préprocesseur mappe ce fragment précédent au code suivant :

char *RetVal, *szString;
RetVal = _mbsrev(szString);

Si _UNICODE a été défini, le préprocesseur mappe ce même fragment au code suivant :

wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);

Si ni _MBCS ni _UNICODE n'a été défini, le préprocesseur mappe ce fragment à le code ASCII codé sur un octet, comme suit :

char *RetVal, *szString;
RetVal = strrev(szString);

Vous pouvez donc écrire, la conservation, et compiler un fichier de code source unique pour exécuter avec des routines qui sont spécifiques aux trois genres de jeux de caractères.

détail de FIN Microsoft

Voir aussi

Référence

Mappages de Texte générique

Mappages de types de données

Mappages de constante et de variable globale

Mappages courants

Un programme de Texte générique exemple