NOM
mbtowc - Convertir une séquences multi-octets en caractères larges
SYNOPSIS
#include <stdlib.h>
int mbtowc(wchar_t *pwc, const char *s, size_t n);
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 '\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.
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 multi-threads. La fonction
mbrtowc(3) fournit une meilleure interface pour la même fonctionnalité.
VOIR AUSSI
MB_CUR_MAX(3), mbrtowc(3), mbstowcs(3)
COLOPHON
Cette page fait partie de la publication 3.23 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
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, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> 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> ».