Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
MBSINIT
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- CONFORMITÉ À
- VOIR AUSSI
- NOTES
- TRADUCTION
NOM
mbsinit - Vérifier si la conversion est dans l'état initial.
SYNOPSIS
#include <wchar.h>
int mbsinit (const mbstate_t *ps);
DESCRIPTION
La conversion de caractères entre la représentation multi-octets et les
caractères larges emploie un état de type mbstate_t. La conversion d'une
chaîne utilise un automate à états finis. Lorsqu'elle est interrompue après
la conversion d'un nombre entier de caractères, il peut être nécessaire de
mémoriser son état pour pouvoir traiter ultérieurement le reste de la
chaîne. Un tel état de conversion est indispensable pour certains encodages
tels que ISO-2022 et UTF-7.
L'état initial est celui du début de la conversion d'une chaîne. Il y a deux
types d'états, celui utilisé par les conversions multi-octets en caractères
larges, comme pour mbsrtowcs(), et celui employé par les conversions
inverses, comme pour wcsrtombs(). Toutefois, les deux types peuvent être
stockés dans une variable mbstate_t, et ils se présentent tous deux
l'état initial sous la même forme.
Pour les codages 8 bits, tous les états sont équivalents à l'état
initial. Pour les encodages multi-octets comme UTF-8, EUC-* BIG5 ou SJIS,
les fonctions de conversion de caractères larges en multi-octets ne
produisent jamais d'état non initial, mais les fonctions de conversion
multi-octets en caractères larges comme mbrtowc peuvent produire un état
non initial si elles sont interrompues au milieu d'un caractère.
Une possibilité pour créer un état mbstate_t initial est de le fixer à zéro :
mbstate_t state;
memset(&state,0,sizeof(mbstate_t));
Sous Linux, on peut aussi utiliser la ligne suivante, même si elle déclenche
des avertissements du compilateur :
mbstate_t state = { 0 };
La fonction mbsinit() vérifie si *ps correspond à un état initial.
VALEUR RENVOYÉE
La fonction mbsinit() renvoie une valeur non nulle si *ps est dans
l'état initial, ou si ps est un pointeur NULL. Sinon, elle renvoie zéro.
CONFORMITÉ À
C99
VOIR AUSSI
mbsrtowcs(3), wcsrtombs(3)
NOTES
Le comportement de mbsinit() dépend de la catégorie LC_CTYPE de la
localisation en cours.
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.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|