wctomb
, _wctomb_l
Convertit un caractère large en caractère multioctet correspondant. Des versions plus sécurisées de ces fonctions sont disponibles ; voir wctomb_s
, _wctomb_s_l
.
Syntaxe
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Paramètres
mbchar
Adresse d’un caractère multioctet.
wchar
Caractère large.
Valeur retournée
Si wctomb
convertit le caractère large en caractère multioctet, il retourne le nombre d’octets (qui n’est jamais supérieure à MB_CUR_MAX
) dans le caractère large. Si wchar
correspond au caractère Null à caractère large (L'\0'), wctomb
retourne 1. Si le pointeur mbchar
cible est NULL
, wctomb
retourne 0. Si la conversion n’est pas possible dans les paramètres régionaux actuels, wctomb
retourne -1 et errno
est définie sur EILSEQ
.
Notes
La fonction wctomb
convertit son argument wchar
en caractère multioctet correspondant et stocke le résultat au niveau de mbchar
. Vous pouvez appeler la fonction de n’importe quel endroit dans n’importe quel programme. La fonction wctomb
utilise les paramètres régionaux actuels pour tout comportement dépendant des paramètres régionaux ; la fonction _wctomb_l
est identique à wctomb
sauf qu'elle utilise les paramètres régionaux passés à la place. Pour plus d’informations, consultez Locale.
wctomb
valide ses paramètres. Si mbchar
c’est NULL
le cas, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, errno
est défini sur EINVAL
et la fonction retourne -1.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
wctomb |
<stdlib.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Ce programme illustre le comportement de la fonction wctomb.
// crt_wctomb.cpp
// compile with: /W3
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i;
wchar_t wc = L'a';
char *pmb = (char *)malloc( MB_CUR_MAX );
printf( "Convert a wide character:\n" );
i = wctomb( pmb, wc ); // C4996
// Note: wctomb is deprecated; consider using wctomb_s
printf( " Characters converted: %u\n", i );
printf( " Multibyte character: %.1s\n\n", pmb );
}
Convert a wide character:
Characters converted: 1
Multibyte character: a
Voir aussi
Conversion de données
Paramètres régionaux
_mbclen
, mblen
, _mblen_l
mbstowcs
, _mbstowcs_l
mbtowc
, _mbtowc_l
wcstombs
, _wcstombs_l
WideCharToMultiByte
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour