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 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" Traducida por Pedro Pablo Fbrega <pfabrega@arrakis.es>
.\" Esto es documentacin libre; puede redistribuirla y/o
.\" modificarla bajo los trminos de la Licencia Pblica General GNU
.\" publicada por la Free Software Foundation; bien la versin 2 de
.\" la Licencia o (a su eleccin) cualquier versin posterior.
.\"
.\" Referencias consultadas:
.\" cdigo 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 WCSNRTOMBS 3 "25 julio 1999" "GNU" "Manual del Programador Linux"
.SH NOMBRE
wcsnrtombs \- convierte una cadena de caracteres anchos a una cadena mulibyte
.SH SINOPSIS
.nf
.B #include <wchar.h>
.sp
.BI "size_t wcsnrtombs (char *" dest ", const wchar_t **" src ", size_t " nwc ,
.BI " size_t " len ", mbstate_t *" ps );
.fi
.SH DESCRIPCIN
La funcin \fBwcsnrtombs\fP es como la funcin \fBwcsrtombs\fP, salvo
que el nmero de caracteres anchos a convertir, empezando
en \fI*src\fP, est limitado a \fInwc\fP.
.PP
Si \fIdest\fP no es un puntero NULL, la funcin \fBwcsnrtombs\fP convierte
a lo sumo \fInwc\fP caracteres anchos de la cadena de caracteres
anchos \fI*src\fP en una cadena multibyte comenzando en \fIdest\fP.
En \fIdest\fP se escriben, como mucho, \fIlen\fP bytes.
El estado de cambios \fI*ps\fP se acualiza. La conversin se realiza
de forma efectiva llamando repetidamente a
wcrtomb(\fIdest\fP,\fI*src\fP,\fIps\fP), tantas veces como la
llamada sea efectiva e incrementando \fIdest\fP con el
nmero de bytes escritos y \fI*src\fP en uno. La conversin puede
pararse por tres razones:
.PP
1. Se ha encontrado un carcter ancho que no se puede representar
como una secuencia multibyte (de acuerdo con la localizacin actual). En este
caso \fI*src\fP se deja apuntando al carcter ancho invlido,
se devuelve (size_t)(-1) y \fBerrno\fP toma el valor \fBEILSEQ\fP.
.PP
2. Se han convertido \fInwc\fP caracteres anchos
sin encontrar un L'\\0', o el lmite de longitud fuerza la parada. En
este caso \fI*src\fP se deja apuntando al siguiente carcter
ancho para convertir y devuelve el nmero de bytes escritos
en \fIdest\fP.
.PP
3. Se ha completado la conversin de la cadena de caracteres anchos,
incluyendo la terminacin L'\\0' (que tiene el efecto de
devolver \fI*ps\fP al estado inicial). En este caso \fI*src\fP
se pone como NULL y devuelve el nmero de bytes escritos en \fIdest\fP,
excluyendo el byte terminador '\\0'.
.PP
Si \fIdest\fP es NULL, \fIlen\fP se ignora, y la conversin procede
como arriba, salvo que los bytes convertidos no se escriben en
memoria, y no existe lmite de longitud.
.PP
En los dos casos anteriores, si \fIps\fP es un puntero NULL
se usa en su lugar un estado privado annimo slo conocido
por la funcin wcsnrtombs.
.PP
El programador tiene que asegurarse de que hay espacio para al menos
\fIlen\fP bytes en \fIdest\fP.
.SH "VALOR DEVUELTO"
La funcin \fBwcsnrtombs\fP devuelve el nmero de bytes que conforman
la parte de la secuencia multibyte convertida, sin incluir el byte
nulo terminador. Si encontr un carcter ancho que no pudo convertir,
devuelve (size_t)(-1) y \fBerrno\fP toma el valor \fBEILSEQ\fP.
.SH "CONFORME A"
Esta funcin es una extensin GNU.
.SH "VASE TAMBIN"
.BR wcsrtombs "(3), " iconv (3)
.SH NOTAS
El comportamiento de \fBwcnrtombs\fP depende de la categora LC_CTYPE
de la localizacin actual.
.PP
Pasar NULL como \fIps\fP no es seguro en entornos multihilo.
|