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

NOMBRE

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

SINOPSIS

       #include <wchar.h>

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

DESCRIPCIÓN

       Si  dest  no  es  un  puntero NULL, la función wcsrtombs convierte 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 conversión se realiza de forma
       efectiva llamando repetidamente a wcrtomb(dest,*src,ps), tantas veces como la llamada  sea
       efectiva e incrementando dest con el número de bytes escritos y *src en uno. La conversión
       puede pararse por tres razones:

       1. Se ha encontrado un carácter ancho que no  se  puede  representar  como  una  secuencia
       multibyte (de acuerdo con la localización actual). En este caso, *src se deja apuntando al
       carácter ancho inválido, se devuelve (size_t)(-1) y errno toma el valor EILSEQ.

       2. El límite de longitud fuerza la parada.  En  este  caso,  *src  se  deja  apuntando  al
       siguiente carácter ancho para convertir y devuelve el número de bytes escritos en dest.

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

       Si dest es NULL, len se ignora, y la conversión procede como arriba, salvo que  los  bytes
       convertidos no se escriben en memoria, y no existe límite de longitud.

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

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

VALOR DEVUELTO

       La función wcsrtombs devuelve el número de bytes que conforman la parte  de  la  secuencia
       multibyte  convertida,  sin incluir el byte nulo terminador. Si encontró un carácter ancho
       que no pudo convertir, devuelve (size_t)(-1) y errno toma el valor EILSEQ.

CONFORME A

       ISO/ANSI C, UNIX98

VÉASE TAMBIÉN

       wcstombs(3), wcsnrtombs(3), iconv(3)

OBSERVACIONES

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

       Pasar NULL como ps no es seguro en entornos multihilo.