MBRLEN(3)

NOME
mbrlen - determina o número de bytes no próximo caracter multibyte

SINÓPSE
#include <wchar.h>

size_t mbrlen (const char *s, size_t n, mbstate_t *ps);

DESCRIÇÃO
A função mbrlen procura até os n bytes, no máximo, da string multibyte que começa em s, e extrai o próximo caracter multibyte completo. Ela atualiza o estado transitório *ps. Se o caracter multibyte não for o caracter largo NULO, ela retorna o número de bytes consumidos de s. Se o caracter multibyte for o caracter largo NULO, ela reinicializa o estado transitório *ps ao valor inicial e retorna 0.

Se os n bytes a partir de s não contiverem um caracter multibyte completo, mbrlen retorna (size_t)(-2). Isso pode acontecer mesmo se n >= MB_CUR_MAX, se a string multibyte contiver seqüências transitórias redundantes.

Se a string multibyte string começando em s contiver uma seqüência multibyte inválida antes do próximo caracter completo, mbrlen retorna (size_t)(-1) e define errno para EILSEQ. Neste caso, os efeitos em *ps não podem ser precisados.

Se s for um ponteiro NULO, será usado um estado anônimo estático apenas conhecido pela função mbrlen.

VALORES RETORNADOS
A função mbrlen retorna o número de bytes analisados (parsed) da seqüência multibyte começando em s, se um caracter largo diferente de NULO for reconhecido. Ela retorna 0 se um caracter NULO for reconhecido. Retorna (size_t)(-1) e define errno para EILSEQ se uma seqüência multibyte inválida for encontrada. Retorna (size_t)(-2) se ela não puder analisar (parse) um caracter multibyte completo, indicando que n deve ser aumentado.

DE ACORDO COM
ISO/ANSI C, UNIX98.

VEJA TAMBÉM
mbrtowc(3).

NOTAS
O comportamento de mbrlen depende da categoria LC_CTYPE da localização atual.

TRADUZIDO POR LDP-BR em 18/07/2001.

  Tradução:
E. A. Tacão <tacao@conectiva.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>