Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       wcsrtombs - Convertir une chaîne de caractères larges en séquence multioctet

SYNOPSIS

       #include <wchar.h>

       size_t wcsrtombs(char *restrict dest, const wchar_t **restrict src,
                        size_t len, mbstate_t *restrict ps);

DESCRIPTION

       Si  dest n'est pas NULL, la fonction wcsrtombs() convertit les caractères larges depuis la
       chaîne *src vers la séquence multioctet située en dest. Au plus len octets  seront  écrits
       dans  dest.  L'état  de  conversion  *ps  est  mis  à  jour. La conversion est réalisée en
       invoquant wcrtomb(dest, *src, ps) aussi longtemps que cet appel réussit, en  augmentant  à
       chaque  fois  dest  du  nombre d'octets écrits et en incrémentant *src. La conversion peut
       s'arrêter pour trois raisons :

       1. Un caractère large que l'on ne peut pas représenter par une séquence  multioctet  (dans
          la  locale  utilisée)  a  été rencontré. Dans ce cas *src pointera sur le caractère non
          valable et la fonction renverra (size_t) -1 et place EILSEQ dans errno.

       2. La limite len est atteinte. Dans ce cas  *src  pointera  sur  le  caractère  suivant  à
          convertir et la fonction renvoie le nombre d'octets écrits dans dest.

       3. La  chaîne  de  caractères  larges a été complètement convertie, y compris le caractère
          large nul final (L'\0'), ramenant *ps à l'état initial. Dans ce cas, *src devient  NULL
          et  la  fonction  renvoie le nombre d'octets écrits dans dest, sans compter l'octet nul
          final ('\0').

       Si dest est NULL,  la  longueur  len  est  ignorée  et  la  conversion  se  déroule  comme
       précédemment,  sauf  que les octets convertis ne sont pas écrits en mémoire et qu'il n'y a
       pas de limite de longueur en destination.

       Dans tous les cas, si ps est NULL,  un  état  anonyme  statique,  réservé  à  la  fonction
       wcsrtombs(), est utilisé à sa place.

       Le programmeur doit s'assurer qu'il y a assez de place pour au moins len octets dans dest.

VALEUR RENVOYÉE

       La  fonction  wcsrtombs() renvoie le nombre d'octets constituant la partie convertie de la
       séquence multioctet, sans compter l'octet nul final. Si elle rencontre un caractère  large
       qu'elle ne peut convertir, 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                                              │
       ├────────────┼──────────────────────┼─────────────────────────────────────────────────────┤
       │wcsrtombs() │ Sécurité des threads │ MT-Unsafe race:wcsrtombs/!ps                        │
       └────────────┴──────────────────────┴─────────────────────────────────────────────────────┘

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, C99.

NOTES

       Le comportement de wcsrtombs() 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

       iconv(3), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(3)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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