Поделиться через


Использование сопоставления Родов- Текста

Только для систем Microsoft

Чтобы упростить разработку кода для различных международных рынков, библиотека времени выполнения (Майкрософт) предоставляет родов-текста" сопоставления "Майкрософт-специфического для многих типов данных, процедур и других объектов.Эти сопоставления заданы, содержащихся в файле TCHAR.H.Можно использовать эти сопоставления, чтобы написать код, который можно компилировать универсальный шаблон для любого символа - 3 типов наборов: Однобайтовая кодировка ASCII (), mbcs или Юникод, в зависимости от очевидной константы указываются с помощью a #define выписка.Сопоставления Родов-текста расширения Майкрософт, которые не являются совместимости ANSI.

Директивы препроцессора для универсальных текстовых сопоставлений

#define

Скомпилированная версия

Пример

_UNICODE

Расширенный символ Юникод ()

_tcsrev сопоставляется функции _wcsrev

_MBCS

Многобайтовая кодировка

_tcsrev сопоставляется функции _mbsrev

Нет (по умолчанию: ни одного _UNICODE ни _MBCS указано)

ОДНОБАЙТОВАЯ КОДИРОВКА (ASCII)

_tcsrev сопоставление strrev

Например, функция родов-текста _tcsrevопределяется сопоставление, содержащихся в файле TCHAR.H mbsrev If MBCS в программе или _wcsrevIf _UNICODEуказывает.В противном случае - значение _tcsrevсопоставление strrev.

Тип данных родов-текста _TCHARтакже указывается, содержащихся в файле TCHAR.H сопоставления для ввода char If _MBCS определяет, чтобы ввести wchar_t If _UNICODE определяет и типу char если константа не определена.Другие сопоставления типов данных, содержащихся в файле TCHAR.H предоставляются для удобства программирования, но _TCHAR тип, который наиболее полезным.

Универсальные текстовые сопоставления типов данных

Имя типа данных Родов-текста

Однобайтовая кодировка (), не заданные _UNICODE _MBCS

Указанный символ _MBCS

Указанный _UNICODE

_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 или _TEXT

Не действует (удаляется препроцессором)

Не действует (удаляется препроцессором)

L (преобразует следующий символ или строка Юникода в двойникам)

Полный список сопоставлений родов-текста подпрограмм, переменных и других объектов см. в разделе сопоставления общих текстов.

Следующие фрагменты кода демонстрируют использование _TCHAR и _tcsrev для сопоставления с многобайтовой кодировке юникод, и моделям однобайтовой кодировки.

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

If MBCS определяет сопоставления препроцессора предыдущий фрагмент в следующий код:

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

If _UNICODE определяет сопоставление препроцессора, один и тот же фрагмент в следующий код:

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

Если ни один _MBCS ни _UNICODE определяет сопоставления препроцессора фрагмент в код ASCII единый-байта следующим образом:

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

Таким образом можно написать, поддерживать и компилировать один файл исходного кода для выполнения с процедурами, которые относятся к любым типам наборов знаков - 3.

ЭЛЕМЕНТ, относящийся Майкрософт

См. также

Ссылки

Сопоставления Родов-Текста

Сопоставление типов данных

Сопоставления константы и глобальной переменной

Обычного сопоставления

Программа Родов- Текста образца