MBTOWC

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
VOIR AUSSI
NOTES

NOM

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

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 multi-octets commençant à l'adresse s, extrait le premier 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, elle renvoie le nombre d'octets qui ont été consommés dans s, sinon, elle renvoie zéro.
Si les n octets débutant 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 NULLL. 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 connait, 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É

ISO/ANSI C, UNIX98

VOIR AUSSI

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() fournit une meilleure interface pour la même fonctionnalité. SH TRADUCTION Christophe Blaess, 1996-2003.