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'ON

       La funcion mbsnrtowcs es como la funcion mbsrtowcs, salvo que el numero
       de bytes a convertir, comenzando en *src, esta limitado a nms.

       Si  dest  no  es un puntero NULL, la funcion 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 conversion se
       realiza  en  realidad llamando repetidamente a mbrtowc(dest,*src,n,ps),
       donde n es algun numero positivo tal que esta llamada  tenga  exito,  e
       incrementa  a  continuacion  dest  en  uno y *src en el numero de bytes
       consumidos. La conversion se puede detener por tres motivos:

       1. Se ha encontrado una secuencia multibyte invalida. En este  caso  se
       deja  *src  apuntando  a  la  secuencia  multibyte invalida, la funcion
       devuelve (size_t)(-1) y se asigna a errno el valor EILSEQ.

       2. El limite 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 funcion devuelve el
       numero de caracteres anchos escritos en dest.

       3.  Se  ha  convertido completamente la cadena multibyte, incluyendo el
       caracter 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
       funcion devuelve el numero  de  caracteres  anchos  escritos  en  dest,
       excluyendo el caracter terminador L'\0.

       Si  dest  es  NULL,  se ignora len, y la conversion procede como antes,
       salvo que los caracteres anchos obtenidos no se escriben en  memoria  y
       que no existe limite de longitud en el destino.

       En  los  dos  casos anteriores, si ps es un puntero NULL pointer, en su
       lugar se usa un estado anonimo privado, solo conocido  por  la  funcion
       mbsnrtowcs.

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

VALOR DEVUELTO

       La funcion mbsnrtowcs devuelve  el  numero  de  caracteres  anchos  que
       componen  la  parte  convertida  de la cadena de caracteres anchos, sin
       incluir  el  caracter  ancho  terminador  nulo.  Si  se  encuentra  una
       secuencia multibyte invalida, la funcion devuelve (size_t)(-1) y asigna
       a errno el valor EILSEQ.

CONFORME A

       Esta funcion es una extension de GNU.

V'EASE TAMBI'EN

       mbsrtowcs(3), iconv(3)

OBSERVACIONES

       El comportamiento de mbsnrtowcs depende de la categoria LC_CTYPE de  la
       localizacion actual.

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