1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" Traducida por Pedro Pablo Fábrega <pfabrega@arrakis.es>
.\" 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
.\"
.\" Translation revised Wed Aug 2 2000 by Juan Piernas <piernas@ditec.um.es>
.\"
.TH WCSTOMBS 3 "25 julio 1999" "GNU" "Manual del Programador Linux"
.SH NOMBRE
wcstombs \- convierte una cadena de caracteres anchos a una cadena mulibyte
.SH SYNOPSIS
.nf
.B #include <stdlib.h>
.sp
.BI "size_t wcstombs (char *" dest ", const wchar_t *" src ", size_t " n );
.fi
.SH DESCRIPCIÓN
Si \fIdest\fP no es un puntero NULL, la función \fBwcstombs\fP convierte
la cadena de caracteres anchos \fI*src\fP en una cadena multibyte comenzando
en \fIdest\fP. En \fIdest\fP se escriben, como mucho, \fIn\fP bytes.
El estado de cambios \fI*ps\fP se acualiza. La conversión comienza en el
estado inicial. La conversión puede pararse por tres razones:
.PP
1. Se ha encontrado un carácter ancho que no se puede representar
como una secuencia multibyte (de acuerdo con la localización actual). En este
caso se devuelve (size_t)(-1).
.PP
2. El límite de longitud fuerza la parada. En este caso, devuelve el número
de bytes escritos en \fIdest\fP pero el estado de cambios en este punto se
pierde.
.PP
3. Se ha completado la conversión de la cadena de caracteres anchos,
incluyendo la terminación L'\\0'. En este caso, la conversión
termina en el estado inicial. Devuelve el número de bytes escritos
en \fIdest\fP, excluyendo el byte terminador '\\0'.
.PP
El programador tiene que asegurarse de que hay espacio para al menos
\fIn\fP bytes en \fIdest\fP.
.PP
Si \fIdest\fP es NULL, \fIlen\fP se ignora, y la conversión procede
como arriba, salvo que los bytes convertidos no se escriben en
memoria y no existe límite de longitud.
.PP
Para evitar los dos casos anteriores, el programador debería estar
seguro de que \fIn\fP es mayor o igual a \fIwcstombs(NULL,src,0)+1\fP.
.SH "VALOR DEVUELTO"
la función \fBwcstombs\fP devuelve el número de bytes que
conforman la parte de la secuencia multibyte convertida, sin incluir el
byte nulo terminador. Si encontró un carácter ancho que no pudo convertir,
devuelve (size_t)(-1).
.SH "CONFORME A"
ISO/ANSI C, UNIX98
.SH "VÉASE TAMBIÉN"
.BR wcsrtombs (3)
.SH OBSERVACIONES
El comportamiento de \fBwcstombs\fP depende de la categoría LC_CTYPE
de la localización actual.
.PP
La función \fBwcsrtombs\fP proporciona un interfaz seguro para
hilos con la misma funcionalidad.
|