wctomb, _wctomb_l
Convertire un carattere di tipo " wide " al carattere multibyte corrispondente.Più versioni sicure di queste funzioni sono disponibili, 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 di tipo " wide ".
Valore restituito
se wctomb converte il carattere di tipo " wide " a un carattere multibyte, restituisce il numero di byte (che non è mai maggiore di MB_CUR_MAX) nel carattere di tipo " wide ".se wchar è il carattere null a caratteri estesi (" \ 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 a 1 e errno è impostato su EILSEQ.
Note
wctomb la funzione converte il relativo wchar argomento di caratteri multibyte e dei file corrispondenti il risultato a mbchar.È possibile chiamare la funzione da qualsiasi punto in qualsiasi programma.wctomb utilizza le impostazioni locali correnti per il comportamento impostazioni locali-dipendente; _wctomb_l equivale a wctomb con la differenza che utilizza le impostazioni locali passate in alternativa.Per ulteriori informazioni, vedere Impostazioni locali.
wctomb convalida dei parametri.se mbchar viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, errno è impostato su EINVAL e la funzione restituisce -1.
Requisiti
routine |
Intestazione di associazione |
---|---|
wctomb |
<definito> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
Questo programma viene illustrato il comportamento della funzione di 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 c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.