Provided by: manpages-fr-dev_2.64.1-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)

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