Share via


_setmbcp

Establece una nueva página de códigos multibyte.

Sintaxis

int _setmbcp(
   int codepage
);

Parámetros

codepage
Nueva configuración de la página de códigos para las rutinas multibyte independientes de la configuración regional.

Valor devuelto

Devuelve 0 si la página de códigos se establece correctamente. Si se proporciona un valor de página de códigos no válido para codepage, devuelve -1 y la configuración de la página de códigos no cambia. Establece errno en EINVAL si se produce un error de asignación de memoria.

Comentarios

La función _setmbcp especifica una nueva página de códigos multibyte. De forma predeterminada, el sistema en tiempo de ejecución establece automáticamente la página de códigos multibyte en la página de códigos ANSI predeterminada del sistema. La configuración de página de códigos multibyte afecta a todas las rutinas multibyte que no dependen de la configuración regional. Sin embargo, es posible indicarle _setmbcp que use la página de códigos definida para la configuración regional actual (consulte la siguiente lista de constantes de manifiesto y resultados de comportamiento asociados). Para obtener una lista de las rutinas multibyte que dependen de la página de códigos de configuración regional en lugar de la página de códigos multibyte, vea Interpretación de secuencias de caracteres multibyte.

El argumento codepage se puede establecer en cualquiera de los siguientes valores:

  • _MB_CP_ANSI Use la página de códigos de ANSI obtenida por el sistema operativo al iniciar el programa.

  • _MB_CP_LOCALE Use la página de códigos de la configuración regional actual obtenida de una llamada anterior a setlocale.

  • _MB_CP_OEM Use la página de códigos de OEM obtenida por el sistema operativo al iniciar el programa.

  • _MB_CP_SBCS Use la página de códigos de un solo byte. Cuando la página de códigos se establece _MB_CP_SBCSen , una rutina como _ismbblead siempre devuelve false.

  • _MB_CP_UTF8 Use UTF-8. Cuando la página de códigos se establece _MB_CP_UTF8en , una rutina como _ismbblead siempre devuelve false.

  • Cualquier otro valor de página de códigos válido, independientemente de si el valor es anSI, OEM u otra página de códigos compatible con el sistema operativo (excepto UTF-7, que no es compatible).

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario
_setmbcp <mbctype.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

_getmbcp
setlocale, _wsetlocale