wctomb, _wctomb_l
Converte un carattere wide nel corrispondente carattere multibyte. Sono disponibili versioni più sicure di queste funzioni. Vedere wctomb_s, _wctomb_s_l.
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Parametri
mbchar
L'indirizzo di un carattere multibyte.wchar
Un carattere wide.
Valore restituito
Se wctomb converte il carattere wide in un carattere multibyte, restituisce il numero di byte (che non è mai maggiore di MB_CUR_MAX) nel carattere wide. Se wchar è il carattere null a caratteri estesi (L'\ 0 "), wctomb restituisce 1. Se il puntatore di destinazione mbchar è NULL, wctomb restituisce 0. Se la conversione non è possibile nelle impostazioni locali correnti, wctomb restituisce 1 e errno viene impostato su EILSEQ.
Note
La funzione wctomb converte il suo argomento wchar nel carattere multibyte corrispondente e memorizza i risultati in mbchar. È possibile chiamare la funzione da qualsiasi punto di qualsiasi programma. wctomb utilizza le impostazioni locali correnti per i comportamenti dipendenti dalle impostazioni locali; _wctomb_l è identica a wctomb, ad eccezione del fatto che utilizza il parametro delle impostazioni locali passato. Per ulteriori informazioni, vedere Impostazioni locali.
wctomb convalida i suoi parametri. Se mbchar è NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno viene impostato su EINVAL e la funzione restituisce -1.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
wctomb |
<stdlib.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'Introduzione.
Esempio
Questo programma mostra il comportamento della funzione 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 );
}
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.