MBRLEN(3) Manual del Programador de Linux MBRLEN(3)

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

#include <wchar.h>
size_t mbrlen(const char *restrict s, size_t n,
              mbstate_t *restrict ps);

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.

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.

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

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

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

mbrtowc(3)

Esta página es parte de la versión 5.13 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/.

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 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.

22 Marzo 2021 GNU