Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft-spezifisch
Um die Codeentwicklung für internationale Märkte zu vereinfachen, stellt die Microsoft-Laufzeitbibliothek für viele Datentypen, Routinen und andere Objekte Microsoft-spezifische Zuordnungen für generischen Text zur Verfügung. Diese Zuordnungen werden in TCHAR.Hdefiniert. Sie können mithilfe dieser Namenszuordnungen generischen Code schreiben, der für die folgenden drei Arten von Zeichensätzen kompiliert werden kann: ASCII (SBCS), MBCS oder Unicode. Dies hängt von der Manifestkonstante ab, die Sie mit einer #define-Anweisung definieren. Generische Textzuordnungen sind Microsoft-Erweiterungen, die nicht ANSI-kompatibel sind.
Präprozessordirektiven für generische Textzuordnungen
#define |
Kompilierte Version | Beispiel |
|---|---|---|
_UNICODE |
Unicode (Breitzeichen) |
_tcsrev ist _wcsrev zugeordnet. |
_MBCS |
Mehrbytezeichen |
_tcsrev ist _mbsrev zugeordnet. |
Keine (Standard: beide _UNICODE und _MBCS nicht definiert) |
SBCS (ASCII) |
_tcsrev ist strrev zugeordnet. |
Die generische Textfunktion _tcsrev, die in , definiert in TCHAR.H, ordnet z. B. zu _mbsrev , ob _MBCS in Ihrem Programm definiert wurde oder _wcsrev ob _UNICODE definiert wurde. Andernfalls wird _tcsrevstrrev zugeordnet.
Der generische Datentyp _TCHAR, auch definiert in TCHAR.H, ordnet den Typ zu, char wenn _MBCS definiert, dem Typ wchar_t , wenn _UNICODE definiert ist, und dem Typ char , wenn keine konstante definiert ist. Andere Datentypzuordnungen werden zur Benutzerfreundlichkeit der TCHAR.H Programmierung bereitgestellt, _TCHAR aber der Typ ist am nützlichsten.
Generische Textzuordnungen von Datentypen
| Datentypname für generischen Text | SBCS (_UNICODE_MBCSnicht definiert) |
_MBCS definiert |
_UNICODE definiert |
|---|---|---|---|
_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 oder _TEXT |
Ohne Auswirkung (wird vom Präprozessor entfernt) | Ohne Auswirkung (wird vom Präprozessor entfernt) |
L (konvertiert das nächste Zeichen oder die nächste Zeichenfolge in die Unicode-Entsprechung) |
Eine vollständige Liste der generischen Textzuordnungen von Routinen, Variablen und anderen Objekten finden Sie unter Generic-Text-Zuordnungen.
Aus den folgenden Codefragmenten geht hervor, wie _TCHAR und _tcsrev für die Zuordnung zu den MBCS-, Unicode- und SBCS-Modellen verwendet werden.
_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);
Wenn _MBCS definiert wurde, ordnet der Präprozessor dem vorangehenden Fragment folgenden Code zu:
char *RetVal, *szString;
RetVal = _mbsrev(szString);
Wenn _UNICODE definiert wurde, ordnet der Präprozessor diesem Fragment folgenden Code zu:
wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);
Wenn beide _MBCS nicht definiert wurden _UNICODE , ordnet der Präprozessor das Fragment wie folgt einem ASCII-Code mit einem Byte zu:
char *RetVal, *szString;
RetVal = strrev(szString);
Mit diesen Makros können Sie eine einzelne Quellcodedatei mithilfe von Routinen schreiben, verwalten und kompilieren, die für alle drei Arten von Zeichensätzen spezifisch sind.
Ende Microsoft-spezifisch
Siehe auch
Generische Textzuordnungen
Datentypzuordnungen
Konstanten- und globalen Variablenzuordnungen
Routine-Zuordnungen
Beispiel für ein generisches Textprogramm