NOM
mbtowc - Convertir une séquences multioctet en caractères larges
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.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
CONFORMITÉ
POSIX.1-2001, POSIX.1-2008, 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é.
VOIR AUSSI
MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3)
COLOPHON
Cette page fait partie de la publication 5.07 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l’adresse https://www.kernel.org/doc/man-pages/.
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org> et David Prévot <david [AT] tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french [AT] lists.org>.