Delen via


Algemene generieke teksttoewijzingen gebruiken

Microsoft-specifieke

Om de ontwikkeling van code voor verschillende internationale markten te vereenvoudigen, biedt de Microsoft-runtimebibliotheek microsoft-specifieke 'generic-text'-toewijzingen voor veel gegevenstypen, routines en andere objecten. Deze toewijzingen worden gedefinieerd in TCHAR.H. U kunt deze naamtoewijzingen gebruiken om algemene code te schrijven die kan worden gecompileerd voor een van de drie soorten tekensets: ASCII (SBCS), MBCS of Unicode, afhankelijk van een manifestconstante die u definieert met behulp van een #define instructie. Algemene tekstkoppelingen zijn Microsoft-extensies die niet compatibel met ANSI zijn.

Preprocessorrichtlijnen voor generieke teksttoewijzingen

#define Gecompileerde versie Voorbeeld
_UNICODE Unicode (breedteken) _tcsrev komt overeen met _wcsrev
_MBCS Multibyte-teken _tcsrev komt overeen met _mbsrev
Geen (de standaardinstelling: beide _UNICODE en _MBCS niet gedefinieerd) SBCS (ASCII) _tcsrev komt overeen met strrev

De functie _tcsrevalgemene tekst, gedefinieerd in TCHAR.H, wordt bijvoorbeeld toegewezen aan _mbsrev of _MBCS is gedefinieerd in uw programma of aan _wcsrev of _UNICODE is gedefinieerd. Anders wordt _tcsrev toegewezen aan strrev.

Het gegevenstype _TCHARalgemene tekst , ook gedefinieerd in TCHAR.H, wordt toegewezen aan het type char als _MBCS is gedefinieerd, om te typen wchar_t of _UNICODE is gedefinieerd en om te typen char als geen van beide constanten is gedefinieerd. Andere toewijzingen van gegevenstypen zijn beschikbaar TCHAR.H voor het gemak van programmeren, maar _TCHAR is het type dat het nuttigst is.

koppelingen van Generic-Text gegevenstypen

Naam van gegevenstype algemene tekst SBCS (_UNICODEniet _MBCS gedefinieerd) _MBCS Gedefinieerd _UNICODE Gedefinieerd
_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 of _TEXT Geen effect (verwijderd door preprocessor) Geen effect (verwijderd door preprocessor) L (converteert het volgende teken of de tekenreeks naar de Unicode-tegenhanger)

Zie Algemene teksttoewijzingen voor een volledige lijst met algemene teksttoewijzingen van routines, variabelen en andere objecten.

De volgende codefragmenten illustreren het gebruik van _TCHAR en _tcsrev voor het toewijzen aan de MBCS-, Unicode- en SBCS-modellen.

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

Als _MBCS is gedefinieerd, wijst de preprocessor het voorgaande fragment aan de volgende code toe.

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

Als _UNICODE is gedefinieerd, vertaalt de preprocessor hetzelfde fragment naar de volgende code:

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

Als beide _MBCS en _UNICODE nog niet zijn gedefinieerd, wijst de preprocessor het fragment als volgt toe aan ASCII-code met één byte:

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

Met deze macro's kunt u één broncodebestand schrijven, onderhouden en compileren met behulp van routines die specifiek zijn voor alle drie typen tekensets.

Microsoft-specifieke beëindigen

Zie ook

Algemene tekstkoppelingen
Gegevenstypetoewijzingen
Constante en globale variabeletoewijzingen
Routinetoewijzingen
Een voorbeeld van een algemeen tekstprogramma