Mediante asignaciones de Genérico- Texto

Específicos de Microsoft

Para simplificar el desarrollo de código para los diferentes mercados internacionales, la biblioteca en tiempo de ejecución de Microsoft proporciona las asignaciones específicas de “texto” para muchos tipos de datos, rutinas, y otros objetos.Estas asignaciones son definidas en TCHAR.H.Puede utilizar estas asignaciones de nombre para escribir código genérico que pueda compilar para cualquiera de los tres tipos de juegos de caracteres: ASCII (SBCS), MBCS, o Unicode, dependiendo de la constante de manifiesto se define mediante una instrucción #define .las asignaciones de texto genérico son extensiones de Microsoft que no son compatibles con ANSI.

Directivas de preprocesador para asignaciones de texto genérico

# define

Versión compilada

Ejemplo

_UNICODE

Unicode (carácter ancho)

_tcsrev se asigna a _wcsrev

_MBCS

Carácter multibyte

_tcsrev se asigna a _mbsrev

Ninguno (el valor predeterminado: ni _UNICODE ni _MBCS definido)

SBCS (ASCII)

mapas de_tcsreva strrev

Por ejemplo, la función _tcsrevde texto genérico, definido en TCHAR.H, asigna a mbsrev si MBCS ha sido definidas en el programa, o a _wcsrevsi _UNICODEha sido definidas.Si no asigna de _tcsreva strrev.

El tipo de datos _TCHARde texto genérico, también definido en TCHAR.H, mapas para escribir char si _MBCS está definido, escribir wchar_t si _UNICODE está definido, y escribir char si ninguna de las dos constantes se define.Otras asignaciones de tipos de datos se proporcionan en TCHAR.H por comodidad de programación, pero _TCHAR es el tipo que es el más útil.

Asignaciones de tipos de datos de texto genérico

nombre del tipo de datos de texto genérico

SBCS (_UNICODE, _MBCS no definido)

_MBCS definido

_UNICODE definido

_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 o _TEXT

Sin efecto (quitado por el preprocesador)

Sin efecto (quitado por el preprocesador)

L (convierte después de caracteres o de cadena a su equivalente de Unicode)

Para obtener una lista completa de las asignaciones de texto genérico de rutinas, variables, y otros objetos, vea Asignaciones de texto genérico.

Los fragmentos de código se muestra el uso de _TCHAR y de _tcsrev para asignar el MBCS, a Unicode, y a los modelos de SBCS.

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

Si MBCS ha sido definidas, el preprocesador asigna el fragmento anterior al código siguiente:

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

Si _UNICODE ha sido definidas, el preprocesador asigna el mismo fragmento al código siguiente:

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

Si no _MBCS ni _UNICODE ha sido definidas, el preprocesador asigna el fragmento a código ASCII de un solo byte, como sigue:

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

Así puede escribir, mantener, y compilar un único archivo de código fuente para ejecutarse con rutinas específicas de cualquiera de los tres tipos de juegos de caracteres.

Específico de Microsoft de FINAL

Vea también

Referencia

Asignaciones de Genérico- Texto

Asignaciones de tipo de datos

Asignaciones de constante y la variable global

Asignaciones rutinarias

Un programa de Genérico- Texto de ejemplo