Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
mbrtowc - Convertir une sequence multi-octets en caractere large
SYNOPSIS
#include <wchar.h>
size_t mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);
DESCRIPTION
L'utilisation principale de cette fonction est avec s et pwc non NULL.
Dans ce cas, la fonction mbrtowc() examine au plus n octets de la
chaine multi-octets commencant en s, en extrait le prochain caractere
multi-octets complet, et le place en *pwc. Elle met a jour l'etat de
decalage *ps. Si le caractere large obtenu n'est pas L'\0', elle
renvoie le nombre d'octets consommes depuis s. Si le caractere large
obtenu est L'\0', elle reinitialise l'etat de decalage *ps et renvoie
zero.
Si les n octets commencant en s ne contiennent pas de caractere large
complet, mbrtowc() renvoie (size_t) -2. Cela peut se produire meme si n
>= MB_CUR_MAX, lorsque la sequence multi-octets contient des sequences
de decalage redondantes.
Si la sequence multi-octets commencant en s contient une sequence
invalide avant le prochain caractere complet, mbrtowc() renvoie
(size_t) -1 et place dans errno la valeur EILSEQ. Dans ce cas, les
effets sur *ps sont indefinis.
Une autre situation est possible, si s est non NULL, mais pwc est NULL.
Dans ce cas, mbrtowc() se comporte comme precedemment, mais
n'enregistre pas le caractere large obtenu.
Un troisieme cas se presente si s est NULL. Alors, pwc et n sont
ignores. Si l'etat de conversion represente par *ps indique une
conversion multi-octets incomplete, la fonction mbrtowc() renvoie
(size_t) -1, remplie errno avec EILSEQ, et laisse *ps dans un etat
indefini. Sinon, la fonction mbrtowc() replace *ps dans l'etat initial
et renvoie 0.
Dans tous ces cas, si ps est un pointeur NULL, une zone de memoire
statique propre a mbrtowc() est utilisee a sa place. Sinon, *ps doit
etre un objet mbstate_t valide. Un tel objet mbstate_t note a peut etre
initialise en le mettant a zero, par exemple ainsi :
memset(&a, 0, sizeof(a));
VALEUR RENVOY'EE
La fonction mbrtowc() renvoie le nombre d'octets balayes depuis la
sequence commencant en s, si un caractere large non nul a ete reconnu.
Elle renvoie zero si un caractere large nul est rencontre. Elle renvoie
(size_t) -1 et remplit errno avec EILSEQ, si une sequence invalide est
trouvee. Elle renvoie (size_t) -2 si elle n'a pas trouve de caractere
entier, et si n doit etre augmente.
CONFORMIT'E
C99.
NOTES
Le comportement de mbrtowc() depend de la categorie LC_CTYPE de la
localisation en cours.
VOIR AUSSI
mbsrtowcs(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.