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

NOM

       wcrtomb - Convertir un caractère large en séquence multioctet

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <wchar.h>

       size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict ps);

DESCRIPTION

       L'utilisation  principale  de cette fonction est le cas où s est non NULL, et wc n'est pas
       un caractère large nul (L'\0'). Alors, la fonction wcrtomb() convertit le caractère  large
       wc  à  sa  représentation  multioctet et l'enregistre au début de la chaîne pointée par s.
       Elle met à jour l'état de conversion *ps et  renvoie  la  longueur  de  la  représentation
       multioctet, c'est-à-dire le nombre d'octets écrits en s.

       Une  autre  possibilité  peut  se présenter quand s est non NULL, mais wc est un caractère
       large nul (L'\0'). Dans cette situation, la fonction wcrtomb() enregistre dans  la  chaîne
       de  caractères  pointée  par  s la séquence de décalages nécessaire pour ramener *ps à son
       état initial, suivie d'un octet '\0'. Elle met à jour l'état *ps (le ramène donc à  l'état
       initial),  et  renvoie la longueur de la séquence en ajoutant un pour compter le caractère
       nul final, c'est-à-dire le nombre d'octets écrits dans s.

       Un troisième cas se présente quand s est NULL.  Alors,  wc  est  ignoré,  et  la  fonction
       renvoie alors le résultat de

           wcrtomb(tampon, L'\0', ps)

       où tampon est un tampon interne anonyme.

       Dans  tous les cas ci-dessus, si ps est NULL, un état statique interne qui n'est connu que
       de la fonction wcrtomb() est utilisé à la place.

VALEUR RENVOYÉE

       La fonction wcrtomb() renvoie le nombre d'octets qui  ont  été  − ou  qui  auraient  été −
       écrits  dans  le  tableau d'octets s. Si wc ne peut pas être représenté comme une séquence
       multioctet (dans la locale en cours), elle renvoie (size_t) -1 et place EILSEQ dans errno.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬────────────────────────────┐
       │InterfaceAttributValeur                     │
       ├─────────────────────────────────────┼──────────────────────┼────────────────────────────┤
       │wcrtomb()                            │ Sécurité des threads │ MT-Unsafe race:wcrtomb/!ps │
       └─────────────────────────────────────┴──────────────────────┴────────────────────────────┘

STANDARDS

       C11, POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, C99.

NOTES

       Le comportement de wcrtomb() dépend de la catégorie LC_CTYPE de la locale utilisée.

       Passer NULL dans ps n'est pas sûr dans un contexte multithread.

VOIR AUSSI

       mbsinit(3), wcsrtombs(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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.