.\" Copyright (c) Bruno Haible .\" .\" Traducida por Pedro Pablo Fábrega .\" Esto es documentación libre; puede redistribuirla y/o .\" modificarla bajo los términos de la Licencia Pública General GNU .\" publicada por la Free Software Foundation; bien la versión 2 de .\" la Licencia o (a su elección) cualquier versión posterior. .\" .\" Referencias consultadas: .\" código fuente y manual de glibc-2 GNU .\" referencia de la bibliote C Dinkumware http://www.dinkumware.com/ .\" Especificaciones Single Unix de OpenGroup http://www.UNIX-systems.org/onl .\" ISO/IEC 9899:1999 .\" .\" Translation revised Wed Aug 2 2000 by Juan Piernas .\" .TH WCRTOMB 3 "25 julio 1999" "GNU" "Manual del Programador Linux" .SH NOMBRE wcrtomb \- convierte una carácter ancho a un secuencia multibyte .SH SINOPSIS .nf .B #include .sp .BI "size_t wcrtomb (char *" s ", wchar_t " wc ", mbstate_t *" ps ); .fi .SH DESCRIPCIÓN El caso principal de esta función es cuando \fIs\fP no es NULL y \fIwc\fP no es L'\\0'. En este caso, la función \fBwcrtomb\fP convierte el carácter ancho \fIwc\fP a su representación multibyte y lo guarda al principio de la cadena de caracteres apuntada por \fIs\fP. Actualiza el estado de cambios \fI*ps\fP, y devuelve la longitud de la susodicha representación multibyte, o sea, el número de bytes escritos en \fIs\fP. .PP Un caso diferente es cuando \fIs\fP no es NULL pero \fIwc\fP es L'\\0'. En ese caso, la función \fBwcrtomb\fP guarda en la cadena de caracteres apuntada por \fIs\fP la secuencia de cambios necesaria para devolver \fI*ps\fP a su estado inicial, seguido por un byte '\\0'. Actualiza el estado de cambios \fI*ps\fP (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 \fIs\fP. .PP Un tercer caso es cuando \fIs\fP es NULL. En este caso \fIwc\fP se ignora, y la función devuelve efectivamente wcrtomb(buf,L'\\0',\fIps\fP) donde buf es un buffer anónimo interno. .PP En todos los casos anteriores, si \fIps\fP es un puntero NULL, se usa en su lugar un estado estático anónimo sólo conocido por la función wcrtomb. .SH "VALOR DEVUELTO" La función \fBwcrtomb\fP devuelve el número de bytes que han sido o serían escritos en el array de bytes \fIs\fP. Si \fIwc\fP no se puede representar como un secuencia multibyte (de acuerdo a la localización actual), devuelve (size_t)(-1) y \fBerrno\fP se pone con el valor \fBEILSEQ\fP. .SH "CONFORME A" ISO/ANSI C, UNIX98 .SH "VÉASE TAMBIÉN" .BR wcsrtombs (3) .SH OBSERVACIONES El comportamiento de \fBwcrtomb\fP depende de la categoría LC_CTYPE de la localización actual. .PP Pasar NULL como \fIps\fP no es seguro en entornos multihilo.