Provided by:
manpages-es_1.55-3_all 
NOMBRE
wcrtomb - convierte una carácter ancho a un secuencia multibyte
SINOPSIS
#include <wchar.h>
size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
DESCRIPCIÓN
El caso principal de esta función es cuando s no es NULL y wc no es
L’\0’. En este caso, la función wcrtomb 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 *ps, y
devuelve la longitud de la susodicha representación multibyte, o sea,
el número de bytes escritos en s.
Un caso diferente es cuando s no es NULL pero wc es L’\0’. En ese
caso, la función wcrtomb guarda en la cadena de caracteres apuntada por
s la secuencia de cambios necesaria para devolver *ps a su estado
inicial, seguido por un byte ’\0’. Actualiza el estado de cambios *ps
(es decir, lo devuelve al estado inicial) y devuelve la longitud de la
secuencia de cambios más uno, es decir, el número de bytes escritos en
s.
Un tercer caso es cuando s es NULL. En este caso wc se ignora, y la
función devuelve efectivamente wcrtomb(buf,L’\0’,ps) donde buf es un
buffer anónimo interno.
En todos los 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 wcrtomb.
VALOR DEVUELTO
La función wcrtomb devuelve el número de bytes que han sido o serían
escritos en el array de bytes s. Si wc no se puede representar como un
secuencia multibyte (de acuerdo a la localización actual), devuelve
(size_t)(-1) y errno se pone con el valor EILSEQ.
CONFORME A
ISO/ANSI C, UNIX98
VÉASE TAMBIÉN
wcsrtombs(3)
OBSERVACIONES
El comportamiento de wcrtomb depende de la categoría LC_CTYPE de la
localización actual.
Pasar NULL como ps no es seguro en entornos multihilo.