WCRTOMB(3) Manual del Programador Linux WCRTOMB(3)
wcrtomb - convierte una carácter ancho a un secuencia multibyte
#include <wchar.h>
size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
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 wcr‐
tomb.
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.
ISO/ANSI C, UNIX98
wcsrtombs(3)
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.
GNU 25 julio 1999 WCRTOMB(3)