Udostępnij za pośrednictwem


wctomb, _wctomb_l

Konwertuj szerokości znaków do odpowiednich znaków wielobajtowych.Bezpieczniejsze wersje te funkcje są dostępne; see wctomb_s, _wctomb_s_l.

int wctomb(
   char *mbchar,
   wchar_t wchar 
);
int _wctomb_l(
   char *mbchar,
   wchar_t wchar,
   _locale_t locale
);

Parametry

  • mbchar
    Adres znaków wielobajtowych.

  • wchar
    Szerokich znaków.

Wartość zwracana

Jeśli wctomb konwertuje szerokich znaków wielobajtowych znaków, funkcja zwraca liczbę bajtów (która nigdy nie jest większa niż MB_CUR_MAX) w szerokich znaków.Jeśli wchar jest znakiem null szerokich znaków (L '\0'), wctomb zwraca wartość 1.Jeśli wskaźnik docelowej mbchar ma wartość NULL, wctomb zwraca wartość 0.Jeśli konwersja nie jest możliwe w bieżące ustawienia regionalne, wctomb zwraca –1 i errno jest ustawiona na EILSEQ.

Uwagi

wctomb Działać konwertuje jego wchar argument odpowiednie wielobajtowych znaków i zapisuje wyniki na mbchar.Z dowolnego miejsca w dowolnym programie, można wywołać funkcję.wctombwykorzystuje bieżące ustawienia regionalne dla wszelkich zachowanie zależnego od ustawień regionalnych; _wctomb_ljest taka sama, jak wctomb z wyjątkiem, że korzysta z ustawień regionalnych, przekazany w zamian.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

wctombsprawdza poprawność jego parametry.Jeśli mbchar jest NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca wartość -1.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

wctomb

<stdlib.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Ten program ilustruje zachowanie funkcji 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 );
}
  

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Konwersja danych

Ustawienia regionalne

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte