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
|
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" References consulted:
.\" GNU glibc-2 source code and manual
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
.\" Translated Sun Apr 23 2000 by Juan Piernas <piernas@ditec.um.es>
.\"
.TH MBRLEN 3 "25 julio 1999" "GNU" "Manual del Programador de Linux"
.SH NOMBRE
mbrlen \- determina el número de bytes en el siguiente carácter multibyte
.SH SINOPSIS
.nf
.B #include <wchar.h>
.sp
.BI "size_t mbrlen (const char *" s ", size_t " n ", mbstate_t *" ps );
.fi
.SH DESCRIPCIÓN
La función \fBmbrlen\fP inspecciona, como mucho, \fIn\fP bytes de la cadena
multibyte que comienza en \fIs\fP y determina el siguiente carácter multibyte
completo. La función actualiza el estado de cambios \fI*ps\fP. Si el
carácter multibyte no es el carácter ancho nulo, devuelve el número de bytes
que se han consumido de \fIs\fP. Si el carácter multibyte es el carácter
ancho nulo, restablece el estado de cambios \fI*ps\fP al estado inicial y
devuelve 0.
.PP
Si los \fIn\fP bytes que comienzan en \fIs\fP no contienen un carácter
multibyte completo, \fBmbrlen\fP devuelve \fI(size_t)(-2)\fP. Esto puede
ocurrir incluso si \fIn\fP >= \fIMB_CUR_MAX\fP, si la cadena multibyte
contiene sequencias de cambios redundantes.
.PP
Si la cadena multibyte que comienza en \fIs\fP contiene una secuencia
multibyte inválida antes del siguiente carácter completo, \fBmbrlen\fP
devuelve \fI(size_t)(-1)\fP y asigna a \fBerrno\fP el valor \fBEILSEQ\fP.
En este caso, los efectos sobre \fI*ps\fP son indefinidos.
.PP
Si \fIps\fP es un puntero NULL, en su lugar se usa un estado anónimo privado
sólo conocido por la función mbrlen.
.SH "VALOR DEVUELTO"
La función \fBmbrlen\fP devuelve el número de bytes examinados de la cadena
multibyte que comienza en \fIs\fP, si se ha reconocido un carácter ancho no
nulo. Devuelve 0 si se ha reconocido un carácter ancho nulo. Devuelve
(size_t)(-1) y asigna a \fBerrno\fP el valor \fBEILSEQ\fP, si se ha
encontrado una secuencia multibyte inválida. Devuelve (size_t)(-2) si no ha
podido recorrer una carácter multibyte completo, indicando que se debería
incrementar \fIn\fP.
.SH "CONFORME A"
ISO/ANSI C, UNIX98
.SH "VÉASE TAMBIÉN"
.BR mbrtowc (3)
.SH OBSERVACIONES
El comportamiento de \fBmbrlen\fP depende de la categoría LC_CTYPE de la
localización actual.
|