Udostępnij za pośrednictwem


Korzystanie z mapowań tekst rodzajowy

Programu Microsoft

Uproszczenie programowania kodu na różnych rynkach międzynarodowych, run-time library firmy Microsoft zawiera mapowania "generic tekst" specyficzne dla firmy Microsoft dla wielu typów danych, procedur i innych obiektów.Mapowania te są zdefiniowane w TCHAR.H.Można użyć tych mapowań nazw pisać kod rodzajowy, który mógł być kompilowany dla każdego z trzech typów zestawów znaków: ASCII (SBCS), MBCS lub Unicode, w zależności od tego, można zdefiniować przy użyciu stałej manifestu #define instrukcji.Tekst rodzajowy mapowania są rozszerzenia Microsoft, które nie są zgodne ANSI.

Dyrektywy preprocesora dla mapowań tekst rodzajowy

# define

Skompilowanej wersji

Przykład

_UNICODE

Unicode (szerokich znaków)

_tcsrevmapy do_wcsrev

_MBCS

Znaków wielobajtowych

_tcsrevmapy do_mbsrev

Brak (domyślnie: ani _UNICODE ani _MBCS zdefiniowane)

SBCS (ASCII)

_tcsrev mapy dostrrev

Na przykład, funkcja tekst rodzajowy _tcsrev, określonych w TCHAR.H, mapuje do mbsrev Jeśli MBCS zostały zdefiniowane w programie lub do _wcsrev Jeśli _UNICODE została zdefiniowana.W przeciwnym razie _tcsrev mapy do strrev.

Typ danych tekst rodzajowy _TCHAR, także zdefiniowane w TCHAR.Mapuje H, wpisz char Jeśli _MBCS jest zdefiniowany, aby wpisać wchar_t Jeśli _UNICODE jest zdefiniowana i wpisz char Jeśli ani stała jest zdefiniowana.Inne mapowania typu dane są dostarczane w TCHAR.H w celu ułatwienia programowania, ale _TCHAR jest typem, która jest najbardziej przydatna.

Mapowania typu danych tekst rodzajowy

Nazwa typu danych tekst rodzajowy

SBCS (_UNICODE, _MBCS, nie zdefiniowane)

_MBCS, definicja

_UNICODE, definicja

_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

_Tlub_TEXT

Brak efektu (usunięta przez preprocessor)

Brak efektu (usunięta przez preprocessor)

L(konwertuje po jego odpowiednik Unicode znaku lub ciągu)

Aby uzyskać pełną listę mapowań tekst rodzajowy procedur, zmiennych i innych obiektów, zobacz Tekst rodzajowy mapowania.

Następujące fragmenty kodu ilustrują użycie _TCHAR i _tcsrev dla mapowania do MBCS, Unicode i SBCS modeli.

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

Jeśli MBCS została zdefiniowana, preprocesora mapuje poprzedniego fragmentu następujący kod:

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

Jeśli _UNICODE została zdefiniowana, preprocesora mapuje ten sam fragment następujący kod:

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

Jeśli ani _MBCS ani _UNICODE została zdefiniowana, preprocesora mapuje fragmentu na jednobajtowe kodu ASCII, w następujący sposób:

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

Można zatem pisać, utrzymania i skompiluj plik kodu pojedyncze źródło do uruchomienia z procedur, które są specyficzne dla żadnego z trzech rodzajów zestawów znaków.

KONIEC Microsoft szczególne

Zobacz też

Informacje

Tekst rodzajowy mapowania

Mapowania typu danych

Stała i globalnych zmiennych mapowania

Rutynowe mapowania

Przykładowy Program tekst rodzajowy