Partager via


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é.

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