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

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <wchar.h>

       size_t wcsnrtombs(char dest[restrict .len], const wchar_t **restrict src,
                         size_t nwc, size_t len, mbstate_t *restrict ps);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

       wcsnrtombs() :
           Depuis la glibc 2.10 :
               _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _GNU_SOURCE

DESCRIPTION

       La  fonction  wcsnrtombs()  est  l'équivalent  de wcsrtombs(3), sauf que le nombre de caractères larges à
       convertir est limité à nwc, en commençant à *src.

       Si dest n'est pas NULL, la fonction wcsnrtombs() convertit au maximum nwc  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  en  fait  réalisée   en   invoquant
       wcrtomb(dest,  *src, ps) à répétition, aussi longtemps que cet appel réussit, en augmentant à chaque fois
       dest du nombre d'octets écrits et en incrémentant *src de 1. La conversion peut se  terminer  pour  trois
       raisons :

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

       -  nwc  caractères  larges ont été convertis sans rencontrer de caractère large nul (L'\0'), ou 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.

       -  La  chaîne  de  caractères larges a été complètement convertie, y compris le caractère large nul final
          (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 wcsnrtombs() 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 wcsnrtombs() 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                                                          │
       ├──────────────┼──────────────────────┼─────────────────────────────────────────────────────────────────┤
       │ wcsnrtombs() │ Sécurité des threads │ MT-Unsafe race:wcsnrtombs/!ps                                   │
       └──────────────┴──────────────────────┴─────────────────────────────────────────────────────────────────┘

STANDARDS

       POSIX.1-2008.

NOTES

       Le comportement de wcsnrtombs() 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), 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 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.9.1                    15 juin 2024                                     wcsnrtombs(3)