Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       mbrtowc - Convertir une séquence multi-octets en caractère large

SYNOPSIS

       #include <wchar.h>

       size_t mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);

DESCRIPTION

       L'utilisation  principale de cette fonction est avec s et pwc non NULL.
       Dans ce cas, la fonction mbrtowc() examine  au  plus  n  octets  de  la
       chaîne  multi-octets  commençant en s, en extrait le prochain caractère
       multi-octets complet, et le place en *pwc. Elle met à  jour  l'état  de
       décalage  *ps.  Si  le  caractère  large  obtenu  n'est pas L'\0', elle
       renvoie le nombre d'octets consommés depuis s. Si  le  caractère  large
       obtenu  est  L'\0', elle réinitialise l'état de décalage *ps et renvoie
       zéro.

       Si les n octets commençant en s ne contiennent pas de  caractère  large
       complet, mbrtowc() renvoie (size_t) -2. Cela peut se produire même si n
       >= MB_CUR_MAX, lorsque 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,  mbrtowc()   renvoie
       (size_t) -1  et  place  dans  errno  la valeur EILSEQ. Dans ce cas, les
       effets sur *ps sont indéfinis.

       Une autre situation est possible, si s est non NULL, mais pwc est NULL.
       Dans   ce   cas,   mbrtowc()   se  comporte  comme  précédemment,  mais
       n'enregistre pas le caractère large obtenu.

       Un troisième cas se présente si s  est  NULL.  Alors,  pwc  et  n  sont
       ignorés.  Si  l'état  de  conversion  représenté  par  *ps  indique une
       conversion  multi-octets  incomplète,  la  fonction  mbrtowc()  renvoie
       (size_t) -1,  remplie  errno  avec  EILSEQ,  et laisse *ps dans un état
       indéfini. Sinon, la fonction mbrtowc() replace *ps dans l'état  initial
       et renvoie 0.

       Dans  tous  ces  cas,  si  ps est un pointeur NULL, une zone de mémoire
       statique propre à mbrtowc() est utilisée à sa place.  Sinon,  *ps  doit
       être un objet mbstate_t valide. Un tel objet mbstate_t noté a peut être
       initialisé en le mettant à zéro, par exemple ainsi :

           memset(&a, 0, sizeof(a));

VALEUR RENVOYÉE

       La fonction mbrtowc() 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  mbrtowc()  dépend  de la catégorie LC_CTYPE de la
       localisation en cours.

VOIR AUSSI

       mbsrtowcs(3)

COLOPHON

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

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2003-2006).  Florentin
       Duneau et l'équipe francophone de traduction de Debian (2006-2009).

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