wcstombs - Convertir une chaîne de caractères larges en
chaîne de caractères multioctets
Bibliothèque C standard (
libc,
-lc)
#include <stdlib.h>
size_t wcstombs(char dest[restrict .n], const wchar_t *restrict src,
size_t n);
Si
dest n'est pas NULL, la fonction
wcstombs() convertit la
chaîne de caractères larges
src en une séquence
multioctet située en
dest. Au plus
n octets seront
écrits dans
dest. La séquence de caractères
écrits dans
dest débute dans l'état de
décalage initial. La conversion peut se terminer pour trois
raisons :
- •
- Un caractère large que l'on ne peut pas
représenter par une séquence multioctet (dans la locale
utilisée) a été rencontré. Dans ce cas, la
fonction renverra (size_t) -1.
- •
- La limite de longueur force l'arrêt. Dans ce cas, le
nombre d'octets écrits dans dest est renvoyé, mais
l'état de décalage à cet endroit est perdu.
- •
- La chaîne de caractères larges a
été complètement convertie, y compris le
caractère large nul final (L'\0'). Dans ce cas, la conversion se
termine dans l'état de décalage initial. La fonction renvoie
le nombre d'octets écrits dans dest, sans compter l'octet
nul final ('\0').
Le programmeur doit s'assurer qu'il y a assez de place pour au moins
n
octets dans
dest.
Si
dest est NULL, la longueur
n est ignorée, et la
conversion se déroule comme précédemment, sauf que les
octets convertis ne sont pas écrits en mémoire et
qu’aucune limite de longueur n’existe en destination.
Pour éviter le cas 2 ci-dessus, le programmeur doit s'assurer que
n est supérieur ou égal à
wcstombs(NULL,src,0)+1.
La fonction
wcstombs() renvoie le nombre d'octets constituant la partie
convertie d’une séquence multioctet, sans compter l'octet NULL
final. Si elle rencontre un caractère large qu'elle ne peut convertir,
elle renvoie
(size_t) -1.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
wcstombs() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
Le comportement de
wcstombs() dépend de la catégorie
LC_CTYPE de la locale utilisée.
La fonction
wcsrtombs(3) fournit une meilleure interface pour la
même fonctionnalité.
mblen(3),
mbstowcs(3),
mbtowc(3),
wcsrtombs(3),
wctomb(3)
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]> et David Prévot <
[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]