wctomb, _wctomb_l
Convertis le caractère large en caractère multioctets correspondant. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez wctomb_s, _wctomb_s_l.
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Paramètres
mbchar
L'adresse d'un caractère multioctets.wchar
Un caractère large.
Valeur de retour
Si wctomb convertis le caractère large en un caractères multioctets, il retourne le nombre d'octets (qui n'est jamais supérieur à MB_CUR_MAX) dans le caractère large. Si wchar est le caractère NULL en caractères étendus (L'\0'), la fonction wctomb retourne 1. Si le pointeur cible mbchar est NULL, wctomb retourne 0. Si la conversion n'est pas possible dans les paramètres régionaux actuels, wctomb retourne – 1 et errno prends la valeur EILSEQ.
Notes
La fonction wctomb convertit son argument wchar en le caractère multioctets correspondant et stocke le résultat dans mbchar. Vous pouvez appeler la fonction de n'importe quel point dans tout programme. wctomb utilise les paramètres régionaux actuels pour tout comportement dépend des paramètres régionaux ; _wctomb_l est identique à wctomb à l'exception qu'il utilise les paramètres régionaux transmis à la place. Pour plus d'informations, consultez Paramètres régionaux.
wctomb valide ses paramètres. Si mbchar est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno est défini comme EINVAL et la fonction retourne -1.
Configuration requise
Routine |
En-tête requis |
---|---|
wctomb |
<stdlib.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
Exemple
Ce programme illustre le comportement de la fonction wctcomb.
// 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 );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.