Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       mbsnrtowcs - Convertir une séquence multi-octets en chaîne de caractères larges

SYNOPSIS

       #include <wchar.h>

       size_t mbsnrtowcs(wchar_t *dest, const char **src,
                         size_t nms, size_t len, mbstate_t *ps);

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

       mbsnrtowcs() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _GNU_SOURCE

DESCRIPTION

       La fonction mbsnrtowcs() est équivalente à  la  fonction  mbsrtowcs(3),  sauf  qu'elle  ne
       convertit qu'un nombre limité (à nms) d'octets commençant en *src.

       Si  dest n'est pas un pointeur NULL, la fonction mbsnrtowcs() convertit au plus nms octets
       depuis la séquence multi-octets *src en une chaîne de caractères larges située dans  dest.
       Au maximum len caractères larges sont écrits dans dest. L'état de conversion *ps est mis à
       jour. La conversion est en fait réalisée en invoquant de façon répétée mbrtowc(dest, *src,
       n,  ps),  où  n  est  un  nombre  positif,  aussi  longtemps  que l'appel réussit, puis en
       incrémentant dest de un et en augmentant *src du nombre d'octets lus. La  conversion  peut
       s'arrêter pour trois raisons :

       1. Une  séquence multi-octets invalide a été rencontrée. Dans ce cas, *src pointera sur la
          séquence invalide, et la fonction renvoie (size_t) -1 en positionnant errno à la valeur
          EILSEQ.

       2. L'arrêt  est  forcé à cause de la limite nms, ou si len caractères larges différents de
          L'\0' ont  été  enregistrés  en  dest.  Dans  ce  cas,  *src  pointe  sur  la  séquence
          multi-octets suivante, et le nombre de caractères larges écrits dans dest est renvoyé.

       3. La  séquence multi-octets a été complètement convertie, y compris le '\0' final (ce qui
          a pour effet de bord de ramener *ps à l'état initial). Dans ce  cas,  *src  est  mis  à
          NULL, et le nombre de caractères écrits dans dest, moins le L'\0' final, est renvoyé.

       Si  dest  est  NULL, alors len est ignoré, et la conversion se déroule comme précédemment,
       sauf que les caractères convertis ne sont pas écrits en mémoire, et  qu'aucune  limite  de
       destination n'est prise en compte.

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

       Le programmeur doit s'assurer qu'il y assez de place pour au moins len  caractères  larges
       dans dest.

VALEUR RENVOYÉE

       La  fonction  mbsnrtowcs()  renvoie  le  nombre  de  caractères larges placés dans la zone
       convertie, sans compter le caractère nul final. Si une séquence multi-octets invalide  est
       rencontrée, la fonction renvoie (size_t) -1, et errno contient EILSEQ.

CONFORMITÉ

       Cette fonction est une extension GNU.

NOTES

       Le  comportement  de  mbsnrtowcs()  dépend  de la catégorie LC_CTYPE de la localisation en
       cours.

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

VOIR AUSSI

       iconv(3), mbsrtowcs(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). Florentin Duneau 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> ».