Provided by: manpages-fr_1.67.0-1_all bug

NOM

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

SYNOPSIS

       #include <wchar.h>

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

DESCRIPTION

       La fonction wcsnrtombs est  l’équivalent  de  wcsrtombs,  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
       multi-octets 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. 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
       multi-octets (dans la localisation en cours) 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 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 multi-octets, 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.

VOIR AUSSI

       wcsrtombs(3), iconv(3)

NOTES

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

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

TRADUCTION

       Christophe Blaess, 2000-2003.