wcsnrtombs(3) Library Functions Manual wcsnrtombs(3) NOM wcsnrtombs - Convertir une chaine de caracteres larges en sequence multioctet BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include size_t wcsnrtombs(char dest[restrict .len], const wchar_t **restrict src, size_t nwc, size_t len, mbstate_t *restrict ps); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : wcsnrtombs() : Depuis la glibc 2.10 : _POSIX_C_SOURCE >= 200809L Avant la glibc 2.10 : _GNU_SOURCE DESCRIPTION La fonction wcsnrtombs() est l'equivalent de wcsrtombs(3), sauf que le nombre de caracteres larges a convertir est limite a nwc, en commencant a *src. Si dest n'est pas NULL, la fonction wcsnrtombs() convertit au maximum nwc caracteres larges depuis la chaine *src vers la sequence multioctet situee en dest. Au plus len octets seront ecrits dans dest. L'etat de conversion *ps est mis a jour. La conversion est en fait realisee en invoquant wcrtomb(dest, *src, ps) a repetition, aussi longtemps que cet appel reussit, en augmentant a chaque fois dest du nombre d'octets ecrits et en incrementant *src de 1. La conversion peut se terminer pour trois raisons : - Un caractere large que l'on ne peut pas representer par une sequence multioctet (dans la locale utilisee) a ete rencontre. Dans ce cas *src pointera sur le caractere non valable et la fonction renverra (size_t) -1 et place EILSEQ dans errno. - nwc wide characters have been converted without encountering a null wide character (L'\0'), or the length limit forces a stop. In this case, *src is left pointing to the next wide character to be converted, and the number of bytes written to dest is returned. - The wide-character string has been completely converted, including the terminating null wide character (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 bytes written to dest, excluding the terminating null byte ('\0'), is returned. Si dest est NULL, la longueur len est ignoree et la conversion se deroule comme precedemment, sauf que les octets convertis ne sont pas ecrits en memoire et qu'il n'y a pas de limite de longueur en destination. Dans tous les cas, si ps est NULL, un etat anonyme statique, reserve a la fonction wcsnrtombs() est utilise a sa place. Le programmeur doit s'assurer qu'il y a assez de place pour au moins len octets dans dest. VALEUR RENVOYEE La fonction wcsnrtombs() renvoie le nombre d'octets constituant la partie convertie de la sequence multioctet, sans compter l'octet nul final. Si elle rencontre un caractere large qu'elle ne peut convertir, elle renvoie (size_t) -1 et place EILSEQ dans errno. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +-------------+--------------------------+-----------------------------+ |Interface | Attribut | Valeur | +-------------+--------------------------+-----------------------------+ |wcsnrtombs() | Securite des threads | MT-Unsafe | | | | race:wcsnrtombs/!ps | +-------------+--------------------------+-----------------------------+ STANDARDS POSIX.1-2008. NOTES Le comportement de wcsnrtombs() depend de la categorie LC_CTYPE de la locale utilisee. Passer NULL dans ps n'est pas sur dans un contexte multithread. VOIR AUSSI iconv(3), mbsinit(3), wcsrtombs(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.9.1 15 juin 2024 wcsnrtombs(3)