mbrtowc   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 22 novembre 2001
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
mbrtowc - Convertir une séquence multi-octets en caractère large  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <wchar.h>

size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);
 



DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
L'usage principal de cette fonction est celui avec s non NULL et pwc non NULL. Dans ce cas, la fonction mbrtowc() examine au plus n octets de la séquence 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'\0', elle renvoie le nombre d'octets lus depuis s. Si le caractère large obtenu est L'\0', 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, remplit errno avec EILSEQ, et laisse *ps dans un état indéfini. Sinon, la fonction mbrtowc() remet *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éé à 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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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É   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
C99.  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Le comportement de mbrtowc() dépend de la catégorie LC_CTYPE de la localisation.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
mbsrtowcs(3)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 29 août 2000 et révisée le 29 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 mbrtowc ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:50:46, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional