MBRLEN(3)

NOMBRE
mbrlen - determina el número de bytes en el siguiente carácter multibyte

SINOPSIS
#include <wchar.h>

size_t mbrlen(const char *restrict s, size_t n,
              mbstate_t *restrict 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.

If ps is NULL, a static anonymous state known only to the mbrlen() function is used instead.

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.

ATRIBUTOS
Para obtener una explicación de los términos usados en esta sección, véase attributes(7).
Interfaz | Atributo | Valor
mbrlen() | Seguridad del hilo | MT-Unsafe race:mbrlen/!ps

CONFORME A
POSIX.1-2001, POSIX.1-2008, C99.

NOTAS
El comportamiento de mbrlen() depende de la categoría LC_CTYPE de la localización actual.

VÉASE TAMBIÉN
mbrtowc(3)

COLOFÓN
Esta página es parte de la versión 5.11 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es> Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org>..