Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       mbrtowc - Convertir une séquence multioctet 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 multioctet commençant en s, en extrait le prochain caractère
       multioctet 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' (le caractère large nul), 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 multioctet contient des
       séquences de décalage redondantes.

       Si la séquence multioctet 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  multioctet  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é.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La fonction mbrtowc() est sûre dans un contexte multithread avec exceptions. Elle n’est pas sûre dans  un
       contexte multithread si appelées avec un paramètre ps NULL.

CONFORMITÉ

       C99.

NOTES

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

VOIR AUSSI

       mbsinit(3), mbsrtowcs(3)

COLOPHON

       Cette page fait partie de la publication 3.65 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

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

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <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> ».

GNU                                               18 mars 2014                                        MBRTOWC(3)