mbrtowc(3) Library Functions Manual mbrtowc(3) NOM mbrtowc - Convertir une sequence multioctet en caractere large BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include size_t mbrtowc(wchar_t *restrict pwc, const char s[restrict .n], size_t n, mbstate_t *restrict ps); DESCRIPTION L'utilisation principale de cette fonction est avec s et pwc non NULL. Dans ce cas, la fonction mbrtowc() examine au plus n octets de la chaine multioctet commencant en s, en extrait le prochain caractere multioctet complet, et le place en *pwc. Elle met a jour l'etat de decalage *ps. Si le caractere large obtenu n'est pas L'\0' (le caractere large nul), elle renvoie le nombre d'octets consommes depuis s. Si le caractere large obtenu est L'\0', elle reinitialise l'etat de decalage *ps et renvoie zero. Si les n octets commencant en s ne contiennent pas de caractere large complet, mbrtowc() renvoie (size_t) -2. Cela peut se produire meme si n >= MB_CUR_MAX, lorsque la sequence multioctet contient des sequences de decalage redondantes. Si la sequence multioctet commencant en s contient une sequence invalide avant le prochain caractere complet, mbrtowc() renvoie (size_t) -1 et place dans errno la valeur EILSEQ. Dans ce cas, les effets sur *ps sont indefinis. Une autre situation est possible, si s est non NULL, mais pwc est NULL. Dans ce cas, mbrtowc() se comporte comme precedemment, mais n'enregistre pas le caractere large obtenu. Un troisieme cas se presente si s est NULL. Alors, pwc et n sont ignores. Si l'etat de conversion represente par *ps indique une conversion multioctet incomplete, la fonction mbrtowc() renvoie (size_t) -1, remplie errno avec EILSEQ, et laisse *ps dans un etat indefini. Sinon, la fonction mbrtowc() replace *ps dans l'etat initial et renvoie 0. Dans tous ces cas, si ps est un pointeur NULL, une zone de memoire statique propre a mbrtowc() est utilisee a sa place. Sinon, *ps doit etre un objet mbstate_t valide. Un tel objet mbstate_t note a peut etre initialise en le mettant a zero, par exemple ainsi : memset(&a, 0, sizeof(a)); VALEUR RENVOYEE La fonction mbrtowc() renvoie le nombre d'octets balayes depuis la sequence multioctet commencant en s, si un caractere large non nul a ete reconnu. Elle renvoie zero si un caractere large nul est rencontre. Elle renvoie (size_t) -1 et definit errno a EILSEQ, si une sequence multioctet non valable est trouvee. Elle renvoie (size_t) -2 si elle n'a pas trouve de caractere multioctet entier, signifiant que n doit etre augmente. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +--------------+--------------------------+----------------------------+ |Interface | Attribut | Valeur | +--------------+--------------------------+----------------------------+ |mbrtowc() | Securite des threads | MT-Unsafe race:mbrtowc/!ps | +--------------+--------------------------+----------------------------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE POSIX.1-2001, C99. NOTES Le comportement de mbrtowc() depend de la categorie LC_CTYPE de la localisation en cours. VOIR AUSSI mbsinit(3), mbsrtowcs(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Baptiste Holcroft et Gregoire Scano Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 mbrtowc(3)