Provided by: manpages-es-dev_4.13-4_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
       estático anónimo sólo conocido por la función wcsrtombs().

       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.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌────────────┬────────────────────┬───────────────────────────────────┐
       │InterfazAtributoValor                             │
       ├────────────┼────────────────────┼───────────────────────────────────┤
       │wcsrtombs() │ Seguridad del hilo │ MT-Carrera insegura:wcsrtombs/!ps │
       └────────────┴────────────────────┴───────────────────────────────────┘

CONFORME A

       POSIX.1-2001, POSIX.1-2008, C99.

NOTAS

       El comportamiento de wcsrtombs() 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.

VÉASE TAMBIÉN

       iconv(3), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(3)

COLOFÓN

       Esta  página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una
       descripción del proyecto, información sobre cómo informar errores y la última  versión  de
       esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La  traducción  al  español  de  esta página del manual fue creada por Pedro Pablo Fábrega
       <pfabrega@arrakis.es> y Juan Piernas <piernas@ditec.um.es>

       Esta traducción es documentación libre; lea  la  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o posterior con respecto a las condiciones de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta  página  del  manual,  envíe  un  correo
       electrónico a debian-l10n-spanish@lists.debian.org ⟨⟩.