.\" Copyright (c) Bruno Haible .\" .\" 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 .\" .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 .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.