Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
MBRTOWC
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- CONFORMITÉ À
- VOIR AUSSI
- NOTES
- TRADUCTION
NOM
mbrtowc - Convertir une séquence multi-octets en caractère 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 chaîne multi-octets commençant en s, en extrait le prochain caractère
multi-octets complet, et le place en *pwc. Elle met à jour l'état de
décalage *ps. Si le caractère large obtenu n'est pas L' ', elle renvoie
le nombre d'octets consommés depuis s. Si le caractère large obtenu est
L' ', elle ré-initialise l'état de décalage *ps et renvoie zéro.
Si les n octets commençant en s ne contiennent pas de caractère large
complet, mbrtowc() renvoie (size_t)(-2). Cela peut se produire même si
n >= MB_CUR_MAX, lorsque la séquence multi-octets contient des
séquences de décalage redondantes.
Si la séquence multi-octets commençant en s contient une séquence
invalide avant le prochain caractère complet, mbrtowc() renvoie
(size_t)(-1) et place dans errno la valeur EILSEQ. Dans ce cas, les
effets sur *ps sont indéfinis.
Une autre situation est possible, si s est non NULL, mais pwc est
NULL. Dans ce cas, mbrtowc() se comporte comme précédemment, mais
n'enregistre pas le caractère large obtenu.
Un troisième cas se présente si s est NULL. Alors, pwc et n sont
ignorés. Si l'état de conversion représenté par *ps indique une
conversion multi-octets incomplète, la fonction mbrtowc() renvoie
(size_t)(-1), remplie errno avec EILSEQ, et laisse *ps dans un
état indéfini. Sinon, la fonction mbrtowc() replace *ps dans l'état
initial et renvoie 0.
Dans tous ces cas, si ps est un pointeur NULL, une zone de mémoire
statique propre à mbrtowc() est utilisée à sa place. Sinon, *ps doit
être un objet mbstate_t valide. Un tel objet mbstate_t noté a peut
être initialisé en le mettant à zéro, par exemple ainsi :
-
memset(&a, 0, sizeof(a));
VALEUR RENVOYÉE
La fonction mbrtowc() renvoie le nombre d'octets balayés depuis la
séquence commençant en s, si un caractère large non nul a été
reconnu. Elle renvoie zéro si un caractère large nul est rencontré. Elle
renvoie (size_t)(-1) et remplit errno avec EILSEQ, si une séquence
invalide est trouvée. Elle renvoie (size_t)(-2) si elle n'a pas trouvé de
caractère entier, et si n doit être augmenté.
CONFORMITÉ À
C99
VOIR AUSSI
mbsrtowcs(3)
NOTES
Le comportement de mbrtowc() dépend de la catégorie LC_CTYPE de la
localisation en cours.
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> ».
|