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

NOMBRE

       mbsrtowcs - convierte una cadena multibyte a una cadena de caracteres anchos

SINOPSIS

       #include <wchar.h>

       size_t mbsrtowcs (wchar_t *dest, const char **src,
                         size_t len, mbstate_t *ps);

DESCRIPCIÓN

       Si  dest  no es un puntero NULL, la función mbsrtowcs convierte la cadena multibyte *src a
       una cadena de caracteres anchos  que  comienza  en  dest.  Como  mucho,  se  escriben  len
       caracteres anchos en dest. El estado de cambios *ps se actualiza. La conversión se realiza
       en realidad llamando repetidamente a mbrtowc(dest,*src,n,ps),  donde  n  es  algún  número
       positivo  tal  que  esta llamada tenga éxito, e incrementando a continuación dest en uno y
       *src en el número de bytes consumidos. La conversión se puede detener por tres razones:

       1. Se encuentar una secuencia multibyte inválida. En este caso se deja *src apuntando a la
       secuencia  multibyte  inválida,  la  función  devuelve (size_t)(-1) y se asigna a errno el
       valor EILSEQ.

       2. Se han almacenado len caracteres anchos distintos de L'\0' en dest. En este caso,  *src
       se  deja  apuntado a la siguiente secuencia multibyte a convertir y la función devuelve el
       número de caracteres anchos escritos en dest.

       3. Se ha convertido completamente la cadena multibyte, incluyendo el  carácter  terminador
       '\0' (que tiene el efecto colateral de devolver a *ps al estado inicial). En este caso, se
       asigna a *src el valor NULL y la función devuelve el número de caracteres anchos  escritos
       en dest, excluyendo el carácter terminador L'\0'.

       Si dest es NULL, se ignora len y la conversión procede como antes salvo que no se escriben
       en memoria los caracteres anchos obtenidos y que no existe límite en la longitud.

       En los dos casos anteriores, si ps es un puntero NULL, se utiliza en su  lugar  un  estado
       anónimo privado, sólo conocido por la función mbsrtowcs.

       El  programador  debe  garantizar  que  hay espacio suficiente en dest para, al menos, len
       caracteres anchos.

VALOR DEVUELTO

       La función mbsrtowcs devuelve el  número  de  caracteres  anchos  que  componen  la  parte
       convertida  de  la  cadena  de caracteres anchos, sin incluir el carácter ancho terminador
       nulo. Si se encuentra una secuencia multibyte inválida,  se  devuelve  (size_t)(-1)  y  se
       asigna a errno el valor EILSEQ.

CONFORME A

       ISO/ANSI C, UNIX98

VÉASE TAMBIÉN

       mbstowcs(3), mbsnrtowcs(3), iconv(3)

OBSERVACIONES

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

       Pasar NULL como valor de ps no es seguro en un entorno multihilos.