Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Convertit un caractère large en caractère multioctet correspondant. Des versions plus sécurisées de ces fonctions sont disponibles. Consultez 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 a la valeur NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. 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