Provided by: manpages-fr-dev_4.21.0-2_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  <tvi‐
       gnaud@mandriva.com>,  François  Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fe‐
       vrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau  <jcristau@de‐
       bian.org>,   Thomas   Huriaux   <thomas.huriaux@gmail.com>,  Nicolas  François  <nicolas.francois@centra‐
       liens.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-bap‐
       tiste@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 à  de‐
       bian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.03                   15 décembre 2022                                      mbsinit(3)