Funkcia wctob () v C ++ prevádza široký znak na jednobajtový znak (typu char), ak je jeho ekvivalentom viacbajtových znakov jeden bajt.
Funkcia wctob () je definovaná v hlavičkovom súbore.
prototyp wctob ()
int wctob (wint_t c);
Funkcia wctob () berie ako argument široký znak c a vracia ekvivalent svojho úzkeho jednobajtového znaku, pokiaľ je to možné.
Parametre wctob ()
- c: Široký charakter sa zužuje.
wctob () Vrátiť hodnotu
Ak c predstavuje viacbajtový znak dĺžky 1 v počiatočnom stave posunu, funkcia wctob () vráti jednobajtové zastúpenie c. Inak sa vráti EOF.
Príklad: Ako funguje funkcia 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 spustení programu bude výstup:
m sa dá zúžiť Æ nedá sa zúžiť