Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <wchar.h>

       size_t mbrtowc(wchar_t *restrict pwc, const char s[restrict .n],
                      size_t n, mbstate_t *restrict 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 multioctet 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 définit errno à EILSEQ, si une séquence multioctet non valable est trouvée.
       Elle renvoie (size_t) -2 si elle n'a pas trouvé de caractère multioctet entier,  signifiant  que  n  doit
       être augmenté.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).
       ┌───────────────────────────────────────────────────┬──────────────────────┬────────────────────────────┐
       │ InterfaceAttributValeur                     │
       ├───────────────────────────────────────────────────┼──────────────────────┼────────────────────────────┤
       │ mbrtowc()                                         │ Sécurité des threads │ MT-Unsafe race:mbrtowc/!ps │
       └───────────────────────────────────────────────────┴──────────────────────┴────────────────────────────┘

STANDARDS

       C11, POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, 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)

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org>,   Jean-Baptiste   Holcroft    <jean-baptiste@holcroft.fr>    et    Grégoire    Scano
       <gregoire.scano@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.8                       2 mai 2024                                         mbrtowc(3)