Provided by: manpages-es_1.55-10_all bug

NOMBRE

       mbsinit - comprueba el estado inicial de cambios

SINOPSIS

       #include <wchar.h>

       int mbsinit (const mbstate_t *ps);

DESCRIPCIÓN

       La  conversión  de  caracteres  entre  la  representación multibyte y la representación de
       caracteres anchos usa un estado de conversión, del tipo mbstate_t. La  conversión  de  una
       cadena  usa  una  máquina  de estados finitos. Cuando se interrumpe después de terminar la
       conversión de un determinado número de caracteres, puede necesitar salvar un  estado  para
       procesar  los  restantes  caracteres. Tal estado de conversión es necesario por el bien de
       codificaciones tales como la ISO-2022 y la UTF-7.

       El estado inicial es el estado al principio de la conversión de la  cadena.   Existen  dos
       clases  de  estado: el que usan las funciones de conversión de multibyte a carácter ancho,
       tal como mbsrtowcs, y el que  usan  las  funciones  de  conversión  de  carácter  ancho  a
       multibyte,  tal  como  wcsrtombs,  aunque ambos encajan en un mbstate_t, y ambos poseen la
       misma representación para un estado inicial.

       Para codificaciones de 8 bits, todos los estados son equivalentes al estado inicial.  Para
       codificaciones  multibyte  como  UTF-8, EUC-*, BIG5 o SJIS, las funciones de conversión de
       carácter ancho a multibyte nunca producen estados  no-iniciales,  pero  las  funciones  de
       conversión  de  multibyte  a  carácter ancho como mbrtowc sí producen estados no-iniciales
       cuando son interrumpidas a mitad de un carácter.

       Una forma posible de crear un mbstate_t en un estado inicial es asignarle un cero:
         mbstate_t state;
         memset(&state,0,sizeof(mbstate_t));
       En  Linux,  lo  siguiente  también  funciona,  aunque  podría  producir  advertencias  del
       compilador:
         mbstate_t state = { 0 };

       La función mbsinit comprueba si *ps se corresponde con un estado inicial.

VALOR DEVUELTO

       mbsinit  devuelve  un valor distinto de cero si *ps se encuentra en un estado inicial o si
       ps es un puntero nulo. En otro caso, devuelve 0.

CONFORME A

       ISO/ANSI C, UNIX98

VÉASE TAMBIÉN

       mbsrtowcs(3), wcsrtombs(3)

OBSERVACIONES

       El comportamiento de mbsinit depende de la categoría LC_CTYPE de la localización actual.