Usar asignaciones de texto genérico

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

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 Microsoft- específicas de “genérico- texto” para muchos tipos de datos, rutinas, y otros objetos. Estas asignaciones se definen en TCHAR.H. Puede utilizar estas asignaciones de nombre para escribir código genérico que se puede 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 Genérico- texto son extensiones de Microsoft que no son compatibles con ANSI.

Directivas de preprocesador para asignaciones de texto genérico

#defineVersión compiladaEjemplo
_UNICODEUnicode (carácter ancho)_tcsrev se asigna a _wcsrev
_MBCSCarácter multibyte_tcsrev se asigna a _mbsrev
Ninguno (el valor predeterminado: ni _UNICODE ni _MBCS definido)SBCS (ASCII)mapas de_tcsrev a strrev

Por ejemplo, la función _tcsrevde genérico- texto, definido en TCHAR.H, asigna a mbsrev si MBCS definida en el programa, o a _wcsrev si se ha definido _UNICODE . Si no asigna de _tcsrev a strrev.

El tipo de datos _TCHARde genérico- texto, también definido en TCHAR.H, mapas para escribir char si se define _MBCS , escribir wchar_t si se define _UNICODE , y escribir char si se ha definido ninguna de las dos constantes. 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 Genérico- textoSBCS (_UNICODE, _MBCS no definidos)_MBCS definido_UNICODE definido
_TCHARcharcharwchar_t
_TINTintintwint_t
_TSCHARsigned charsigned charwchar_t
_TUCHARunsigned charunsigned charwchar_t
_TXCHARcharunsigned charwchar_t
_T o _TEXTSin 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 genérico- texto de rutinas, variables, y otros objetos, vea Asignaciones de Genérico- texto.

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 se ha definido MBCS , el preprocesador asigna el fragmento anterior al código siguiente:

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

Si se ha definido _UNICODE , el preprocesador asigna el mismo fragmento al código siguiente:

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

Si no se han definido _MBCS ni _UNICODE , el preprocesador asigna el fragmento a código ASCII del 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.

FIN de Específicos de Microsoft

Asignaciones de texto genérico
Asignaciones de tipos de datos
Asignaciones de constantes y de variables globales
Asignaciones de rutinas
Ejemplo de programa de texto genérico

Mostrar: