Provided by: manpages-fr_1.67.0-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);

DESCRIPTION

       La fonction mbsnrtowcs est équivalente à la  fonction  mbsrtowcs,  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 à dest.  Au maximum len caractères larges sont
       écrits  dans  dest.  L’état  de  conversion  *ps  est  mis  à jour.  La
       conversion  est  réalisée   en   fait   en   invoquant   à   répétition
       mbrtowc(dest,*src,n,ps),  où  n  est un nombre positif, aussi longtemps
       que l’appel réussit, puis en incrémentant dest 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
       L’\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, sauf 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ÉÉ

       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.

VOIR AUSSI

       mbsrtowcs(3), iconv(3)

NOTES

       Le  comportement  de  mbsnrtowcs  dépend de la catégorie LC_CTYPE de la
       localisation.

       L’utilisation d’un pointeur NULL pour ps n’est pas sûr dans un contexte
       multithreads.

TRADUCTION

       Christophe Blaess, 2000-2003.