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

L'utilisation principale de cette fonction est le cas où s est non NULL, et wc n'est pas un caractère large nul (L'\0'). Alors, la fonction wcrtomb() convertit le caractère large wc à sa représentation multioctet et l'enregistre au début de la chaîne pointée par s. Elle met à jour l'état de conversion *ps et renvoie la longueur de la représentation multioctet, c'est-à-dire le nombre d'octets écrits en s.
Une autre possibilité peut se présenter quand s est non NULL, mais wc est un caractère large nul (L'\0'). Dans cette situation, la fonction wcrtomb() enregistre dans la chaîne de caractères pointée par s la séquence de décalages nécessaire pour ramener *ps à son état initial, suivie d'un octet '\0'. Elle met à jour l'état *ps (le ramène donc à l'état initial), et renvoie la longueur de la séquence en ajoutant un pour compter le caractère nul final, c'est-à-dire le nombre d'octets écrits dans 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( tampon, L'\0', ps)

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

POSIX.1-2001, POSIX.1-2008, 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 <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]>, Jean-Baptiste Holcroft <[email protected]> et Grégoire Scano <[email protected]>
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 à [email protected]

Recommended readings

Pages related to wcrtomb you should read also: