Share via


Použití mapování Generic Text

Konkrétní společnosti Microsoft

Zjednodušit vývoj kódu pro různé mezinárodní trhy spuštění knihovny Microsoft poskytuje mapování "obecný text" Microsoft specifické pro mnoho typů dat, rutin a jiných objektů.Tato mapování jsou definovány v TCHAR.H.Mapování těchto názvů můžete napsat obecný kód, který lze sestavit pro všechny tři druhy znakové sady: (SBCS), MBCS nebo Unicode, v závislosti na manifestu definovat pomocí konstanty #define prohlášení.Obecný text mapování jsou rozšíření Microsoft, které nejsou kompatibilní ANSI.

Směrnice preprocesor pro mapování obecných textů

# define

Kompilovaná verze

Příklad

_UNICODE

Unicode (wide znak)

_tcsrevmapuje_wcsrev

_MBCS

Více-bajtové znaky

_tcsrevmapuje_mbsrev

NONE (výchozí: ani _UNICODE ani _MBCS definice)

SBCS (ASCII)

_tcsrev mapujestrrev

Například funkce obecný text _tcsrev, definované v TCHAR.H, mapuje na mbsrev Pokud MBCS byla definována v aplikaci nebo na _wcsrev -li _UNICODE byla definována.Jinak _tcsrev mapuje na strrev.

Typ dat text obecný _TCHAR, také definice ve TCHAR.Mapuje H, zadejte char -li _MBCS je definován zadejte wchar_t Pokud _UNICODE je definován a zadejte char -li definována žádná konstanta.Další typ mapování dat jsou k dispozici v TCHAR.H pro programování pohodlí, ale _TCHAR je typ, který je nejužitečnější.

Mapování obecných textových databázový typů

Název typu dat obecný text

SBCS (_UNICODE, _MBCS není definováno)

_MBCS, definice

_UNICODE, definice

_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

_Tnebo_TEXT

Žádný účinek (odstraněno preprocesorem)

Žádný účinek (odstraněno preprocesorem)

L(převede po jeho protějšku Unicode znak nebo řetězec)

Úplný seznam mapování obecný text rutiny, proměnné a další objekty, viz Generic Text mapování.

Následující kód fragmenty ilustrují použití _TCHAR a _tcsrev pro mapování modelů MBCS Unicode a SBCS.

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

Pokud MBCS byla definována, preprocesoru mapuje předchozí fragmentu následující kód:

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

Pokud _UNICODE byla definována, preprocesoru mapuje stejný fragment následující kód:

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

Pokud ani _MBCS ani _UNICODE byla definována, preprocesoru mapuje fragment kódu ASCII jednoho bajtu, takto:

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

Lze tedy zapsat, udržovat a kompilovat kód jeden zdrojový soubor spustit s rutiny, které jsou specifické pro všechny tři druhy znakové sady.

Konec konkrétní společnosti Microsoft

Viz také

Referenční dokumentace

Mapování Generic Text

Typ mapování dat.

Mapování konstantní a globální proměnné

Rutinní mapování

Ukázkový Program Generic Text