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

NOMBRE

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

SINOPSIS

       #include <wchar.h>

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

DESCRIPCIÓN

       La  función mbsnrtowcs es como la función mbsrtowcs, salvo que el número de bytes a convertir, comenzando
       en *src, está limitado a nms.

       Si dest no es un puntero NULL, la función mbsnrtowcs convierte,  como  mucho,  nms  bytes  de  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 incrementa a continuación dest en uno  y  *src  en  el  número  de  bytes  consumidos.  La
       conversión se puede detener por tres motivos:

       1.  Se ha encontrado 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. El límite nms fuerza una parada, o se han almacenado len caracteres anchos distintos de L'\0' en dest.
       En este caso, se deja *src apuntando 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 esta caso, se asigna a *src un 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  los  caracteres  anchos
       obtenidos no se escriben en memoria y que no existe límite de longitud en el destino.

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

       Los programadores deben garantizar que hay espacio suficiente en dest  para,  al  menos,  len  caracteres
       anchos.

VALOR DEVUELTO

       La  función  mbsnrtowcs  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, la función devuelve (size_t)(-1) y asigna a errno el valor EILSEQ.

CONFORME A

       Esta función es una extensión de GNU.

VÉASE TAMBIÉN

       mbsrtowcs(3), iconv(3)

OBSERVACIONES

       El comportamiento de mbsnrtowcs 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.

GNU                                               25 julio 1999                                    MBSNRTOWCS(3)