Provided by: manpages-fr-dev_4.15.0-9_all bug

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 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.

       For 8-bit encodings, all states  are  equivalent  to  the  initial  state.  For  multibyte
       encodings  like  UTF-8,  EUC-*,  BIG5, or SJIS, the wide character to multibyte conversion
       functions never produce non-initial states, but the multibyte to wide-character conversion
       functions like mbrtowc(3)  do produce non-initial states when interrupted in the middle of
       a character.

       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 │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

CONFORMITÉ

       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)

COLOPHON

       Cette page fait partie de la publication 5.13 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@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⟩.