Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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