Funkcja wctob () w C ++ konwertuje szeroki znak na znak jednobajtowy (typu char), jeśli jego wielobajtowy odpowiednik jest jednobajtowy.
Funkcja wctob () jest zdefiniowana w pliku nagłówkowym.
wctob () prototyp
int wctob (wint_t c);
Funkcja wctob () przyjmuje jako argument szeroki znak c i zwraca, jeśli to możliwe, jego wąski odpowiednik jednobajtowego znaku.
wctob () Parametry
- c: Szeroki znak do zawężenia.
wctob () Zwracana wartość
Jeśli c reprezentuje znak wielobajtowy o długości 1 w początkowym stanie przesunięcia, funkcja wctob () zwraca jednobajtową reprezentację c. W przeciwnym razie zwracany jest EOF.
Przykład: Jak działa funkcja wctob ()?
#include #include #include #include using namespace std; void test_wctob(wchar_t c) ( int ch = wctob(c); if (ch != EOF) wcout << c << L" can be narrowed" << endl; else wcout << c << L" can't be narrowed" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t wc1 = L'm'; wchar_t wc2 = L'u00c6'; test_wctob(wc1); test_wctob(wc2); return 0; )
Po uruchomieniu programu wynik będzie następujący:
m można zawęzić Æ nie można zawęzić