mbrlen(3) | Library Functions Manual | mbrlen(3) |
NOMBRE
mbrlen - determina el número de bytes en el siguiente carácter multibyte
BIBLIOTECA
Biblioteca Estándar C (libc, -lc)
SINOPSIS
#include <wchar.h>
size_t mbrlen(const char s[restrict .n], 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 |
ESTÁNDARES
C11, POSIX.1-2008.
HISTORIAL
POSIX.1-2001, C99.
NOTAS
El comportamiento de mbrlen() depende de la categoría LC_CTYPE de la localización actual.
VÉASE TAMBIÉN
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 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.
2 Mayo 2024 | Páginas de Manual de Linux 6.8 |