Funkce wctob () v C ++ převádí široký znak na jednobajtový znak (typu char), pokud je jeho ekvivalent vícebajtového znaku jeden bajt.
Funkce wctob () je definována v hlavičkovém souboru.
prototyp wctob ()
int wctob (wint_t c);
Funkce wctob () bere jako argument široký znak c a pokud je to možné, vrátí jeho ekvivalent úzkého jednobajtového znaku.
Parametry wctob ()
- c: Široký znak se zužuje.
wctob () Vrátit hodnotu
Pokud c představuje vícebajtový znak délky 1 v počátečním stavu posunu, vrátí funkce wctob () jednobajtovou reprezentaci c. Jinak se vrátí EOF.
Příklad: Jak funguje funkce 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; )
Když spustíte program, výstup bude:
m lze zúžit Æ nelze zúžit