FreeBSD Manual Pages
std::wctob(3) C++ Standard Libary std::wctob(3) NAME std::wctob - std::wctob Synopsis Defined in header <cwchar> int wctob( std::wint_t c ); Narrows a wide character c if its multibyte character equivalent in the initial shift state is a single byte. This is typically possible for the characters from the ASCII charac- ter set, since most multibyte encodings (such as UTF-8) use single bytes to encode those characters. Parameters c - wide character to narrow Return value EOF if c does not represent a multibyte character with length 1 in initial shift state. Otherwise, the single-byte representation of c as unsigned char con- verted to int Example // Run this code #include <clocale> #include <cwchar> #include <iostream> void try_narrowing(wchar_t c) { int cn = std::wctob(c); if(cn != EOF) std::cout << '\'' << int(c) << "' narrowed to " << +cn << '\n'; else std::cout << '\'' << int(c) << "' could not be narrowed\n"; } int main() { std::setlocale(LC_ALL, "th_TH.utf8"); std::cout << std::hex << std::showbase << "In Thai UTF-8 lo- cale:\n"; try_narrowing(L'a'); try_narrowing(L''); std::setlocale(LC_ALL, "th_TH.tis620"); std::cout << "In Thai TIS-620 locale:\n"; try_narrowing(L'a'); try_narrowing(L''); } Output: In Thai UTF-8 locale: '0x61' narrowed to 0x61 '0xe5b' could not be narrowed In Thai TIS-620 locale: '0x61' narrowed to 0x61 '0xe5b' narrowed to 0xfb See also btowc widens a single-byte narrow character to wide character, if possible (function) narrow narrows characters (public member function of std::basic_ios<CharT,Traits>) narrow invokes do_narrow (public member function of std::ctype<CharT>) http://cppreference.com 2022.07.31 std::wctob(3)
NAME | Synopsis | Parameters | Return value | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wctob&sektion=3&manpath=FreeBSD+Ports+15.0>
