Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
WCSNRTOMBS
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- CONFORMITÉ
- VOIR AUSSI
- NOTES
- TRADUCTION
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);
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 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 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' ', 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' ' 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 ' '.
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 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.
VOIR AUSSI
iconv(3), wcsrtombs(3)
NOTES
Le comportement de wcsnrtombs() 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.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|