NOMBRE¶
mbrlen - determina el número de bytes en el siguiente carácter
multibyte
SINOPSIS¶
#include <wchar.h>
size_t mbrlen (const char *s, size_t n, mbstate_t *ps);
DESCRIPCIÓN¶
La función
mbrlen inspecciona, como mucho,
n bytes de la
cadena multibyte que comienza en
s y determina el siguiente
carácter multibyte completo. La función actualiza el estado de
cambios
*ps. Si el carácter multibyte no es el carácter ancho
nulo, devuelve el número de bytes que se han consumido de
s. Si el
carácter multibyte es el carácter ancho nulo, restablece el estado
de cambios
*ps al estado inicial y devuelve 0.
Si los
n bytes que comienzan en
s no contienen un carácter
multibyte completo,
mbrlen devuelve
(size_t)(-2). Esto puede
ocurrir incluso si
n >=
MB_CUR_MAX, si la cadena multibyte
contiene sequencias de cambios redundantes.
Si la cadena multibyte que comienza en
s contiene una secuencia multibyte
inválida antes del siguiente carácter completo,
mbrlen
devuelve
(size_t)(-1) y asigna a
errno el valor
EILSEQ.
En este caso, los efectos sobre
*ps son indefinidos.
Si
ps es un puntero NULL, en su lugar se usa un estado anónimo
privado sólo conocido por la función mbrlen.
VALOR DEVUELTO¶
La función
mbrlen devuelve el número de bytes examinados de la
cadena multibyte que comienza en
s, 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
errno el valor
EILSEQ, 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
n.
ISO/ANSI C, UNIX98
VÉASE TAMBIÉN¶
mbrtowc(3)
OBSERVACIONES¶
El comportamiento de
mbrlen depende de la categoría LC_CTYPE de la
localización actual.