From cppreference.com
intiswblank(std::wint_tch);(since C++11)Checks if the given wide character is classified as blank character (that is, a whitespace character used to separate words in a sentence) by the current C locale. In the default C locale, only space (0x20) and horizontal tab (0x09) are blank characters.
If the value of ch is neither representable as a wchar_t nor equal to the value of the macro WEOF, the behavior is undefined.
Parameters
ch - wide character Return value
Non-zero value if the wide character is a blank character, zero otherwise.
Notes
defines POSIX blank characters as Unicode characters U+0009, U+0020, U+1680, U+180E, U+2000..U+2006, U+2008, U+200A, U+205F, and U+3000.
Example
Run this code
#include<clocale>#include<cwctype>#include<iostream>intmain(){wchar_tc=L'\u3000';// Ideographic space (' ')std::cout<<std::hex<<std::showbase<<std::boolalpha;std::cout<<"in the default locale, iswblank("<<(std::wint_t)c<<") = "<<(bool)std::iswblank(c)<<'\n';std::setlocale(LC_ALL,"en_US.utf8");std::cout<<"in Unicode locale, iswblank("<<(std::wint_t)c<<") = "<<(bool)std::iswblank(c)<<'\n';}Output:
in the default locale, iswblank(0x3000) = false in Unicode locale, iswblank(0x3000) = true See also
ASCII values characters
decimal hexadecimal octal 0–8 \x0–\x8\0–\10control codes (NUL, etc.) ≠0000000000009 \x9\11tab (\t) ≠00≠0≠00000000010–13 \xA–\xD\12–\15whitespaces (\n, \v, \f, \r) ≠00≠000000000014–31 \xE–\x1F\16–\37control codes ≠00000000000032 \x20\40space 0≠0≠0≠00000000033–47 \x21–\x2F\41–\57!"#$%&'()*+,-./0≠000≠0≠000000048–57 \x30–\x39\60–\7101234567890≠000≠00≠0000≠0≠058–64 \x3A–\x40\72–\100:;<=>?@0≠000≠0≠000000065–70 \x41–\x46\101–\106ABCDEF0≠000≠00≠0≠0≠000≠071–90 \x47–\x5A\107–\132GHIJKLMNOP
QRSTUVWXYZ0≠000≠00≠0≠0≠000091–96 \x5B–\x60\133–\140[\]^_`0≠000≠0≠000000097–102 \x61–\x66\141–\146abcdef0≠000≠00≠0≠00≠00≠0103–122 \x67–\x7A\147–\172ghijklmnop
qrstuvwxyz0≠000≠00≠0≠00≠000123–126 \x7B–\x7E\172–\176{|}~0≠000≠0≠0000000127 \x7F\177backspace character (DEL) ≠000000000000