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.