Provided by: manpages-fr-dev_4.18.1-1_all bug

NOM

       mbsinit - Vérifier si la conversion est dans l'état initial

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <wchar.h>

       int mbsinit(const mbstate_t *ps);

DESCRIPTION

       La  conversion  de  caractères entre la représentation multioctet 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 multioctets 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 ont tous
       deux la même représentation de l'état initial.

       Pour les codages 8 bits, tous les états  sont  équivalents  à  l'état  initial.  Pour  les
       encodages  multioctets  comme  UTF-8,  EUC-*  BIG5 ou SJIS, les fonctions de conversion de
       caractères larges en multioctets  ne  produisent  jamais  d'état  non  initial,  mais  les
       fonctions  de  conversion  multioctets 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(state));

       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.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │mbsinit()                                               │ Sécurité des threads │ MT-Safe │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       POSIX.1-2001, POSIX.1-2008, C99.

NOTES

       Le comportement de mbsinit() dépend de la catégorie LC_CTYPE de la localisation en cours.

VOIR AUSSI

       mbrlen(3), mbrtowc(3), mbsrtowcs(3), wcrtomb(3), wcsrtombs(3)

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@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>, Jean-Baptiste Holcroft
       <jean-baptiste@holcroft.fr> et Grégoire Scano <gregoire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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@lists.debian.org⟩.