#include <wchar.h> int mbsinit(const mbstate_t *ps);
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(3), et celui employé par les conversions inverses, comme pour wcsrtombs(3). Toutefois, les deux types peuvent être stockés dans une variable mbstate_t, et ils se présentent tous deux sous la même forme initiale.
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(3) produisent 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 définir à 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.
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 29 août 2000 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 mbsinit ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008