wctomb, _wctomb_l
Convertissez un caractère élargi au caractère multioctets correspondant.plus les versions 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 élargi.
Valeur de retour
Si wctomb convertit le caractère élargi à un caractère multioctets, il retourne le nombre d'octets (qui n'est jamais supérieur MB_CUR_MAX) dans le caractère élargi.Si wchar est le caractère NULL à caractères larges (L \ 0 '), retourne 1. d' wctomb .Si le pointeur cible mbchar est NULL, retourne 0 d' wctomb .Si la conversion n'est pas possible dans les paramètres régionaux, wctomb retourne - 1 et errno est défini à EILSEQ.
Notes
La fonction d' wctomb convertit son argument d' wchar au caractère multioctets correspondant et stocke le résultat à l'adresse mbchar.Vous pouvez appeler la fonction de tout point dans n'importe quel programme.wctomb utilise les paramètres régionaux définis pour tout comportement dépendant des paramètres régionaux ; _wctomb_l identique à wctomb mais il utilise les paramètres régionaux passés à la place.Pour plus d'informations, consultez Paramètres régionaux.
wctomb valide ses paramètres.si mbchar est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, errno est défini à EINVAL et retourne de fonction -1.
Configuration requise
routine |
en-tête requis |
---|---|
wctomb |
<stdlib.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
ce programme illustre le comportement de la fonction de 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 );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.