Provided by: manpages-fr_1.67.0-1_all bug

NOM

       mbrlen - Calculer la longueur d’un caractère multi-octets.

SYNOPSIS

       #include <wchar.h>

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

DESCRIPTION

       La  fonction  mbrlen  examine  au  maximum  n  octets  de  la  séquence
       commençant en  s  et  en  extrait  le  caractère  multi-octets  complet
       suivant. Elle met à jour l’état de décalage *ps. Si le caractère multi-
       octets ne correspond pas au caractère large nul, elle renvoie le nombre
       d’octets  qui  ont  été  lus  dans  s.  Si  ce  caractère correspond au
       caractère large nul, elle réinitialise l’état *ps et renvoie 0.

       Si les n octets commençant en s ne contiennent pas un caractère  multi-
       octets complet, mbrlen renvoie (size_t)(-2). Ceci peut se produire même
       si n >= MB_CUR_MAX, dans le cas où la  séquence  multi-octets  contient
       des séquences de décalage redondantes.

       Si  la  séquence  multi-octets  commençant  en  s contient une séquence
       invalide  avant  le  prochain   caractère   complet,   mbrlen   renvoie
       (size_t)(-1)  et  place  dans errno la valeur EILSEQ.  Dans ce cas, les
       effets sur *ps sont indéfinis.

       Si ps est un pointeur NULL, une zone de  mémoire  statique  réservée  à
       mbrlen est utilisée à sa place.

VALEUR RENVOYÉE

       La  fonction  mbrlen  renvoie  le  nombre  d’octets  balayés  depuis la
       séquence commençant en s, si un caractère large non nul a été  reconnu.
       Elle  renvoie  zéro  si  un  caractère  large  nul est rencontré.  Elle
       renvoie (size_t)(-1) et remplit errno  avec  EILSEQ,  si  une  séquence
       invalide est trouvée.  Elle renvoie (size_t)(-2) si elle n’a pas trouvé
       de caractère entier, et si n doit être augmenté.

CONFORMITÉ

       ISO/ANSI C, UNIX98

VOIR AUSSI

       mbrtowc(3)

NOTES

       Le comportement de  mbrlen  dépend  de  la  catégorie  LC_CTYPE  de  la
       localisation.

TRADUCTION

       Christophe Blaess, 2000-2003.