Loading

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);

       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É

       C99.

NOTES

       Le comportement de mbrlen() dépend  de  la  catégorie  LC_CTYPE  de  la
       localisation en cours.

VOIR AUSSI

       mbrtowc(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».