Provided by: manpages-es_1.55-10_all bug

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.