NOM¶
mbsrtowcs - Convertir une séquence multioctet 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 multioctet
*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 multioctet incorrecte a été
rencontrée. Dans ce cas, *src pointera sur la
séquence incorrecte, 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 multioctet suivante, et le
nombre de caractères larges écrites dans dest est
renvoyé.
- 3.
- La séquence multioctet 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
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É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 multioctet incorrecte 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),
mbrtowc(3),
mbsinit(3),
mbsnrtowcs(3),
mbstowcs(3)
COLOPHON¶
Cette page fait partie de la publication 3.65 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> ».