wcrtomb(3)

NOM
wcrtomb - Convertir un caractère large en séquence multioctet

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

SYNOPSIS
#include <wchar.h>

size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict ps);

DESCRIPTION
The main case for this function is when s is not NULL and wc is not a null wide character (L'\0'). In this case, the wcrtomb() function converts the wide character wc to its multibyte representation and stores it at the beginning of the character array pointed to by s. It updates the shift state *ps, and returns the length of said multibyte representation, that is, the number of bytes written at s.

A different case is when s is not NULL, but wc is a null wide character (L'\0'). In this case, the wcrtomb() function stores at the character array pointed to by s the shift sequence needed to bring *ps back to the initial state, followed by a '\0' byte. It updates the shift state *ps (i.e., brings it into the initial state), and returns the length of the shift sequence plus one, that is, the number of bytes written at s.

Un troisième cas se présente quand s est NULL. Alors, wc est ignoré, et la fonction renvoie alors le résultat de

    wcrtomb(buf, L'\0', ps)

où tampon est un tampon interne anonyme.

Dans tous les cas ci-dessus, si ps est NULL, un état statique interne qui n'est connu que de la fonction wcrtomb() est utilisé à la place.

VALEUR RENVOYÉE
La fonction wcrtomb() renvoie le nombre d'octets qui ont été − ou qui auraient été − écrits dans le tableau d'octets s. Si wc ne peut pas être représenté comme une séquence multioctet (dans la locale en cours), elle renvoie (size_t) -1 et place EILSEQ dans errno.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
wcrtomb() | Sécurité des threads | MT-Unsafe race:wcrtomb/!ps

STANDARDS
C11, POSIX.1-2008.

HISTORIQUE
POSIX.1-2001, C99.

NOTES
Le comportement de wcrtomb() dépend de la catégorie LC_CTYPE de la locale utilisée.

Passer NULL dans ps n'est pas sûr dans un contexte multithread.

VOIR AUSSI
mbsinit(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 <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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.