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

NOM

       mbrtowc - Convertir une sequence multi-octets en caractere 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
       chaine  multi-octets  commencant en s, en extrait le prochain caractere
       multi-octets complet, et le place en *pwc. Elle met a  jour  l'etat  de
       decalage  *ps.  Si  le  caractere  large  obtenu  n'est pas L'\0', elle
       renvoie le nombre d'octets consommes depuis s. Si  le  caractere  large
       obtenu  est  L'\0', elle reinitialise l'etat de decalage *ps et renvoie
       zero.

       Si les n octets commencant en s ne contiennent pas de  caractere  large
       complet, mbrtowc() renvoie (size_t) -2. Cela peut se produire meme si n
       >= MB_CUR_MAX, lorsque la sequence multi-octets contient des  sequences
       de decalage redondantes.

       Si  la  sequence  multi-octets  commencant  en  s contient une sequence
       invalide  avant  le  prochain  caractere  complet,  mbrtowc()   renvoie
       (size_t) -1  et  place  dans  errno  la valeur EILSEQ. Dans ce cas, les
       effets sur *ps sont indefinis.

       Une autre situation est possible, si s est non NULL, mais pwc est NULL.
       Dans   ce   cas,   mbrtowc()   se  comporte  comme  precedemment,  mais
       n'enregistre pas le caractere large obtenu.

       Un troisieme cas se presente si s  est  NULL.  Alors,  pwc  et  n  sont
       ignores.  Si  l'etat  de  conversion  represente  par  *ps  indique une
       conversion  multi-octets  incomplete,  la  fonction  mbrtowc()  renvoie
       (size_t) -1,  remplie  errno  avec  EILSEQ,  et laisse *ps dans un etat
       indefini. Sinon, la fonction mbrtowc() replace *ps dans l'etat  initial
       et renvoie 0.

       Dans  tous  ces  cas,  si  ps est un pointeur NULL, une zone de memoire
       statique propre a mbrtowc() est utilisee a sa place.  Sinon,  *ps  doit
       etre un objet mbstate_t valide. Un tel objet mbstate_t note a peut etre
       initialise en le mettant a zero, par exemple ainsi :

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

VALEUR RENVOY'EE

       La fonction mbrtowc() renvoie le  nombre  d'octets  balayes  depuis  la
       sequence  commencant en s, si un caractere large non nul a ete reconnu.
       Elle renvoie zero si un caractere large nul est rencontre. Elle renvoie
       (size_t) -1  et remplit errno avec EILSEQ, si une sequence invalide est
       trouvee. Elle renvoie (size_t) -2 si elle n'a pas trouve  de  caractere
       entier, et si n doit etre augmente.

CONFORMIT'E

       C99.

NOTES

       Le  comportement  de  mbrtowc()  depend  de la categorie 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      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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'equipe francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.