Provided by: manpages-fr-dev_4.13-4_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.

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

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

GNU                                              1 novembre 2020                                      MBSINIT(3)