wcsrtombs(3)

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

BIBLIOTECA
Biblioteca Estándar C (libc, -lc)

SINOPSIS
#include <wchar.h>

size_t wcsrtombs(char dest[restrict .len], const wchar_t **restrict src,
                 size_t len, mbstate_t *restrict 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:

•   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.

•   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.

•   The wide-character string has been completely converted, including the terminating null wide character (L'\0'), which has the side effect of bringing back *ps to the initial state. In this case, *src is set to NULL, and the number of bytes written to dest, excluding the terminating null byte ('\0'), is returned.

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).
Interfaz | Atributo | Valor
wcsrtombs() | Seguridad del hilo | MT-Carrera insegura:wcsrtombs/!ps

ESTÁNDARES
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)

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.