Manpages

NOMBRE

wctomb − convierte una carácter ancho a un secuencia multibyte

SINOPSIS

#include <stdlib.h>

int wctomb (char *s, wchar_t wc);

DESCRIPCIÓN

Si s no es NULL, la función wctomb convierte el carácter ancho wc a su representación multibyte y lo guarda al principio de la cadena de caracteres apuntada por s. Actualiza el estado de cambios, que se guarda en una variable privada anónima sólo conocida por la función wctomb, y devuelve la longitud de dicha representación multibyte, es decir, el número de bytes escritos en s.

El programador tiene que asegurarse de que hay suficiente espacio para al menos MB_CUR_MAX bytes en s.

Si s es NULL, la función wctomb reinicia el estado de cambios, sólo conocido por esta función, al estado inicial y devuelve un valor no nulo si la codificación tiene un estado de cambios no trivial, o cero si la codificación no tiene estado.

VALOR DEVUELTO

Si s no es nulo, la función wctomb devuelve el número de bytes que han sido escritos en el vector de bytes s. Si wc no se puede representar como un secuencia multibyte (de acuerdo a la localización actual), devuelve −1.

Si s es nulo, la función wctomb devuelve un valor no nulo si la codificación tiene un estado de cambios no trivial, o cero si la codificación no tiene estado.

CONFORME A

ISO/ANSI C, UNIX98

VÉASE TAMBIÉN

wcrtomb(3), wcstombs(3), MB_CUR_MAX(3)

OBSERVACIONES

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

Esta función no es segura para multihilo. La función wcrtomb proporciona un interfaz mejor con la misma funcionalidad.