NOM¶
mbsrtowcs - Convertir une séquence multi-octets en chaîne de
caractères larges
SYNOPSIS¶
#include <wchar.h>
size_t mbsrtowcs(wchar_t *dest, const char **src,
size_t len, mbstate_t *ps);
DESCRIPTION¶
Si
dest n'est pas un pointeur NULL, la fonction
mbsrtowcs()
convertit la séquence multi-octets
*src en une chaîne de
caractères larges débutant en
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 cet appel réussit, en incrémentant chaque fois
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.
- 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 écrites dans dest est
renvoyé.
- 3.
- La séquence multi-octets a été
complètement convertie, y compris le caractère nul ('\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 caractère
large nul 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
mbsrtowcs() 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
mbsrtowcs() 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.
C99.
NOTES¶
Le comportement de
mbsrtowcs() 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),
mbsnrtowcs(3),
mbstowcs(3)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
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> ».