Freigeben über


Verwenden von Zuordnungen für generischen Text

Microsoft-spezifisch

Um verschiedene Codeentwicklung für internationale Märkte vereinfachen, stellt die Microsoft-Laufzeitbibliothek Zuordnungen des Microsoft-Besondere" generischen Text für viele Datentypen, Routinen und andere Objekte. Diese Zuordnungen sind in TCHAR.H. definiert. Sie können diese Namenszuordnungen bereit verwenden, können Sie generischen Code schreiben, der für die drei Arten der verbleibenden Zeichensätze kompiliert werden kann: ASCII (SBCS), MBCS- oder Unicode, abhängig von einer eindeutigen Konstante definieren Sie mithilfe einer #define-Anweisung. Zuordnungen für generischen Text sind Microsoft-Erweiterungen, die zu nicht konformem ANSI sind.

Präprozessordirektiven zum Zuordnen von generischem Text

#define

Kompilierte Version

Beispiel

_UNICODE

Unicode (Breitzeichen)

_tcsrev wird _wcsrev zugeordnet.

_MBCS

Mehrbytezeichen

_tcsrev wird _mbsrev zugeordnet.

Keine (Standard: weder _UNICODE noch _MBCS definiert)

SBCS (ASCII)

Zuordnungen zu strrev_tcsrev

Beispielsweise die Funktion _tcsrev für generischen Text, definiert in TCHAR.H, in den Zuordnungen zu mbsrev, wenn MBCS in einem Programm definiert wurde oder _wcsrev , wenn _UNICODE definiert wurde. Andernfalls _tcsrev Zuordnungen zu strrev.

Der Datentyp _TCHAR des generischen Text, ebenfalls definiert in TCHAR.H, in den Zuordnungen, um char einzugeben, wenn _MBCS definiert ist, zu wchar_t, wenn _UNICODE definiert wird, und char einzugeben, wenn auch nicht Konstante definiert ist. Andere Datentypzuordnungen werden in TCHAR.H weitere Datentypzuordnungen zur Verfügung gestellt, aber _TCHAR ist der Typ, der sehr nützlich ist.

Generische Textzuordnungen von Datentypen

Datentypname für generischen Text

(_UNICODE, SBCS _MBCS nicht 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, die Zeichen oder Zeichenfolge in die Unicode-Entsprechung folgen)

Eine vollständige Liste mit generischen Textzuordnungen von Routinen, Variablen und anderen Objekten finden, Zuordnungen für generischen Text.

Die folgenden Codefragmente veranschaulichen die Verwendung von _TCHAR und _tcsrev für die Zuordnung zu den MBCS-, zu Unicode und TO der SBCS-Modellen.

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

Wenn MBCS definiert wurde, ordnet der Präprozessor dem vorangehenden Fragment dem folgenden Code:

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

Wenn _UNICODE definiert wurde, ordnet der Präprozessor dem gleichen Fragment dem folgenden Code:

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

Wenn weder _MBCS noch _UNICODE definiert wurde, ordnet der Präprozessor dem Einzelbyte- ASCII-Code zu, wie folgt:

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

So können Sie eine einzige Quellcodedatei so schreiben, verwalten und kompilieren, dass sie mit Routinen ausgeführt, die zu einer der drei Zeichensätze ausgerichtet sind.

END Microsoft-spezifisch

Siehe auch

Referenz

Zuordnungen für generischen Text

Datentypzuordnungen

Zuordnungen von Konstanten und globalen Variablen

Routinezuordnungen

Beispiel für ein Programm mit generischem Text