mblen(3) determina el número de bytes del siguiente carácter multibyte

SINOPSIS

#include <stdlib.h>


int mblen (const char *s, size_t n);

DESCRIPCIÓN

Si s no es un puntero NULL, la función mblen inspecciona, como mucho, n bytes de la cadena multibyte que comienza en s y extrae el siguiente carácter multibyte completo. Usa un estado de cambios anónimo y privado sólo conocido por la función mblen. Si el carácter multibyte no esl 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, devuelve 0.

Si los n bytes a partir de s no contienen un carácter multibyte completo, mblen devuelve -1. Esto puede ocurrir incluso si n >= MB_CUR_MAX, si la cadena multibyte contiene secuencias de cambios redundantes.

Si la cadena multibyte s contiene una secuencia multibyte inválida antes del siguiente carácter completo, mblen también devuelve -1.

Si s no es un puntero NULL, la función mblen devuelve el estado de cambios, sólo conocido por esta función, a su estado inicial, y devuelve un valor distinto de cero si la condificación posee un estado de cambios no trivial o cero si es una codificación sin estado.

VALOR DEVUELTO

La función mblen devuelve el número de bytes recorridos de la secuencia multibyte s, si encuentra un carácter ancho no nulo. Devuelve 0 si encuentra un carácter ancho nulo. Devuelve -1 si encuentra una secuencia mulitbyte inválida o si no pudo recorrer un carácter multibyte completo.

CONFORME A

ISO/ANSI C, UNIX98

OBSERVACIONES

El comportamiento de mblen depende de la categoría LC_CTYPE de la localización actual.

La función mbrlen proporciona una interfaz mejor con la misma funcionalidad.