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

NOMBRE

       wcsnrtombs  -  convierte  una  cadena de caracteres anchos a una cadena
       mulibyte

SINOPSIS

       #include <wchar.h>

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

DESCRIPCI'ON

       La funcion wcsnrtombs es como la funcion wcsrtombs, salvo que el numero
       de  caracteres  anchos  a convertir, empezando en *src, esta limitado a
       nwc.

       Si dest no es un puntero NULL, la funcion  wcsnrtombs  convierte  a  lo
       sumo  nwc  caracteres  anchos de la cadena de caracteres anchos *src en
       una cadena multibyte comenzando en dest.  En  dest  se  escriben,  como
       mucho,  len bytes.  El estado de cambios *ps se acualiza. La conversion
       se   realiza   de   forma    efectiva    llamando    repetidamente    a
       wcrtomb(dest,*src,ps),  tantas  veces  como  la  llamada sea efectiva e
       incrementando dest con el numero de bytes escritos y *src  en  uno.  La
       conversion puede pararse por tres razones:

       1.  Se ha encontrado un caracter ancho que no se puede representar como
       una secuencia multibyte (de acuerdo con  la  localizacion  actual).  En
       este  caso  *src  se  deja  apuntando  al  caracter  ancho invalido, se
       devuelve (size_t)(-1) y errno toma el valor EILSEQ.

       2. Se han convertido nwc caracteres anchos sin encontrar un   L'\0',  o
       el  limite  de  longitud  fuerza  la  parada. En este caso *src se deja
       apuntando al siguiente caracter ancho  para  convertir  y  devuelve  el
       numero de bytes escritos en dest.

       3.  Se  ha  completado la conversion de la cadena de caracteres anchos,
       incluyendo la terminacion  L'\0' (que tiene el efecto de  devolver  *ps
       al  estado  inicial). En este caso *src se pone como NULL y devuelve el
       numero de bytes escritos en dest, excluyendo el byte terminador '\0'.

       Si dest es NULL, len se ignora, y la conversion  procede  como  arriba,
       salvo  que los bytes convertidos no se escriben en memoria, y no existe
       limite de longitud.

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

       El programador tiene que asegurarse de que hay espacio  para  al  menos
       len bytes en dest.

VALOR DEVUELTO

       La  funcion  wcsnrtombs  devuelve  el  numero de bytes que conforman la
       parte de la secuencia multibyte convertida, sin incluir  el  byte  nulo
       terminador.  Si  encontro  un  caracter  ancho  que  no pudo convertir,
       devuelve (size_t)(-1) y errno toma el valor EILSEQ.

CONFORME A

       Esta funcion es una extension GNU.

V'EASE TAMBI'EN

       wcsrtombs(3), iconv(3)

OBSERVACIONES

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

       Pasar NULL como ps no es seguro en entornos multihilo.