mbsrtowcs(3) Library Functions Manual mbsrtowcs(3) NOM mbsrtowcs - Convertir une sequence multioctet en chaine de caracteres larges (redemarrable) BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include size_t mbsrtowcs(wchar_t dest[restrict .dsize], const char **restrict src, size_t dsize, mbstate_t *restrict ps); DESCRIPTION Si dest n'est pas un pointeur NULL, convertir la sequence multioctet *src en une chaine de caracteres larges debutant en dest. Au maximum, dsize caracteres larges sont ecrits dans dest. L'etat de conversion *ps est mis a jour. La conversion est en fait realisee en invoquant de facon repetee mbrtowc(dest, *src, n, ps) ou n est un nombre positif, aussi longtemps que cet appel reussit, en incrementant chaque fois dest de un et en augmentant *src du nombre d'octets lus. La conversion peut s'arreter pour trois raisons : - Une sequence multioctet incorrecte a ete rencontree. Dans ce cas, *src pointera sur la sequence incorrecte, et la fonction renvoie (size_t) -1 en positionnant errno a la valeur EILSEQ. - dsize non-L'\0' wide characters have been stored at dest. In this case, *src is left pointing to the next multibyte sequence to be converted, and the number of wide characters written to dest is returned. - The multibyte string has been completely converted, including the terminating null wide character ('\0'), which has the side effect of bringing back *ps to the initial state. In this case, *src is set to NULL, and the number of wide characters written to dest, excluding the terminating null wide character, is returned. Si dest est NULL, alors dsize est ignore, et la conversion se deroule comme precedemment, sauf que les caracteres convertis ne sont pas ecrits en memoire, et qu'aucune limite de destination n'est prise en compte. Dans tous les cas, si ps est un pointeur NULL, un etat anonyme statique, reserve a la fonction mbsnrtowcs() est utilise a sa place. Afin d'eviter la situation numero 2 ci-dessus, le programmeur doit s'assurer que dsize est superieur ou egal a mbsrtowcs(NULL,src,0,ps)+1. Le programmeur doit s'assurer qu'il y assez de place pour au moins dsize caracteres larges dans dest. Cette fonction est la version redemarrable de mbstowcs(3). VALEUR RENVOYEE Le nombre de caracteres larges places dans la zone convertie, sans compter le caractere large NULL final. Si une sequence multioctet incorrecte est rencontree, la fonction renvoie (size_t) -1, et errno contient EILSEQ. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +------------+--------------------------+------------------------------+ |Interface | Attribut | Valeur | +------------+--------------------------+------------------------------+ |mbsrtowcs() | Securite des threads | MT-Unsafe race:mbsrtowcs/!ps | +------------+--------------------------+------------------------------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE POSIX.1-2001, C99. NOTES Le comportement de mbsrtowcs() depend de la categorie LC_CTYPE de la localisation en cours. Passer NULL dans ps n'est pas sur dans un contexte multithread. VOIR AUSSI iconv(3), mbrtowc(3), mbsinit(3), mbsnrtowcs(3), mbstowcs(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.12 23 juillet 2024 mbsrtowcs(3)