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

NOM

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

SYNOPSIS

       #include <wchar.h>

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

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

       wcsnrtombs() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _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 en *src.

       Si dest n'est pas un pointeur 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  réalisée  en  fait  en  invoquant  à
       répétition 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 de 1. La conversion peut se terminer 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 invalide, et la fonction
          renverra (size_t) -1 après avoir placé EILSEQ dans errno.

       2. On a converti nwc caractères larges 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.

       3. 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 (« \0 ») final.

       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  un  pointeur  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 au minimum 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.

CONFORMITÉ

       POSIX.1-2008.

NOTES

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

       L'utilisation d'un pointeur NULL pour ps n'est pas sûre dans un contexte multithread.

VOIR AUSSI

       iconv(3), mbsinit(3), wcsrtombs(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).  Nicolas  François  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                                     WCSNRTOMBS(3)