man wcrtomb (Fonctions bibliothèques) - Convertir un caractère large en séquence multi-octets.
NOM
wcrtomb - Convertir un caractère large en séquence multi-octets.
SYNOPSIS
#include <wchar.h> size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
DESCRIPTION
L'utilisation principale de cette fonction est le cas où s est non NULL, et wc n'est pas L'\0'. Alors, la fonction wcrtomb convertit le caractère large wc dans sa représentation multi-octets, 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 multi-octets, c'est à dire le nombre d'octets écrits en s.
Une autre possibilité peut se présenter quand s est non NULL, mais wc vaut 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 caractère '\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.
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ù buf est un buffer interne.
Dans tous les cas, si ps est un pointeur NULL, un état statique interne est utilisé.
VALEUR RENVOYÉE
La fonction wcrtomb renvoie le nombre d'octets qui ont été - ou qui auraient été - écrits dans s. Si wc ne peut pas être représenté comme une séquence multi-octets (dans la localisation en cours), elle renvoie (size_t)(-1), et place EILSEQ dans errno .
CONFORMITÉ
ISO/ANSI C, UNIX98
VOIR AUSSI
NOTES
Le comportement de wcrtomb dépend de la catégorie LC_CTYPE de la localisation.
L'utilisation d'un pointeur NULL pour ps n'est pas sûre dans un contexte multithreads.
TRADUCTION
Christophe Blaess, 2000-2003.