Функция wctob () в C ++ преобразует широкий символ в однобайтовый символ (типа char), если эквивалент многобайтового символа является однобайтным.
Функция wctob () определена в заголовочном файле.
wctob () прототип
int wctob (wint_t c);
Функция wctob () принимает в качестве аргумента широкий символ c и по возможности возвращает его узкий однобайтовый эквивалент.
Параметры wctob ()
- c: от широкого символа к узкому.
wctob () Возвращаемое значение
Если c представляет многобайтовый символ длины 1 в начальном состоянии сдвига, функция wctob () возвращает однобайтовое представление c. В противном случае возвращается EOF.
Пример: как работает функция 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; )
Когда вы запустите программу, вывод будет:
м можно сузить Æ нельзя сузить