Condividi tramite


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.

Vedere anche

Riferimenti

Conversione di dati

Impostazioni locali

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte