SYNOPSIS
#include <stdlib.h>
int mbtowc(wchar_t *pwc, const char *s, size_t n);
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 multioctet commençant à l'adresse s, extrait le prochain caractère multioctet 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 multioctet complet, ou s'il s'agit d'une séquence incorrecte, mbtowc() renvoie -1. Ceci peut se produire même si n est supérieur ou égal à MB_CUR_MAX, si la chaîne multioctet 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.
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.
CONFORMITÉ
C99.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é.
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 à <[email protected]> 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> ».