Partager via


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.

Voir aussi

Référence

Conversion de données

Paramètres régionaux

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte