Provided by: manpages-fr-dev_3.32d0.2p4-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  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  L'\0'  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 '\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 un pointeur NULL,  un  état  statique  anonyme  propre  à  la
       fonction est utilisé à la 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É

       Cette fonction est une extension GNU.

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), wcsrtombs(3)

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <URL: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> ».