Provided by:
manpages-fr_1.67.0-1_all 
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.