1. NOM

mbtowc - Convertir une séquences multi-octets en caractères larges

2. SYNOPSIS

 
Sélectionnez
#include <stdlib.h>
int mbtowc(wchar_t *pwc, const char *s, size_t n);

3. DESCRIPTION

L'utilisation habituelle de cette fonction est avec s et pwc tous deux différents NULL. Dans ce cas, la fonction mbtowc() examine au plus n octets de la chaîne multi-octets commençant à l'adresse s, extrait le prochain caractère multi-octets complet, le convertit en caractère large et le stocke dans *pwc. Elle met à jour l'état interne de décalage, connu d'elle seule. Si s ne pointe pas sur un octet nul (« \0 »), elle renvoie le nombre d'octets qui ont été consommés dans s, sinon, elle renvoie zéro.

Si les n octets débutants en s ne contiennent pas un caractère multi-octets complet, ou s'il s'agit d'une séquence invalide, mbtowc() renvoie -1. Ceci peut se produire même si n est supérieur ou égal à MB_CUR_MAX, si la chaîne multi-octets contient des séquences de décalage redondantes.

Un autre cas possible se présent si s est non NULL, mais pwc est NULL. Dans ce cas, la fonction mbtowc() se comporte comme ci-dessus, mais ne stocke par le caractère large en mémoire.

Un troisième cas est possible si s est NULL. Alors, pwc et n sont ignorés. La fonction mbtowc() réinitialise l'état de décalage, qu'elle seule connaît, et renvoie une valeur non nulle si l'encodage à un état de décalage non trivial, ou zéro si l'encodage est sans état.

4. VALEUR RENVOYÉE

Si s est non NULL, la fonction mbtowc() renvoie le nombre d'octets consommés à partir de s, ou zéro si s pointe sur un octet nul, ou encore -1 en cas d'erreur.

Si s est NULL, la fonction mbtowc() renvoie une valeur non nulle si l'encodage a un état de décalage non trivial, ou zéro si l'encodage est sans état.

5. CONFORMITÉ

C99.

6. NOTES

Le comportement de mbtowc() dépend de la catégorie LC_CTYPE de la localisation en cours.

Cette fonction n'est pas sûre en contexte multithread. La fonction mbrtowc(3) fournit une meilleure interface pour la même fonctionnalité.

7. VOIR AUSSI

8. COLOPHON

Cette page fait partie de la publication 3.52 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/.

9. 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 à < >.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».