From cppreference.com
intiswgraph(std::wint_tch);Checks if the given wide character has a graphical representation, i.e. it is either a number (0123456789), an uppercase letter (ABCDEFGHIJKLMNOPQRSTUVWXYZ), a lowercase letter (abcdefghijklmnopqrstuvwxyz), a punctuation character (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) or any graphical character specific to the current C locale.
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 has a graphical representation character, zero otherwise.
Notes
specifies which Unicode characters are include in POSIX graph category.
Example
Run this code
#include<clocale>#include<cwctype>#include<iostream>intmain(){wchar_tc=L'\u2602';// the Unicode character Umbrella ('☂')std::cout<<std::hex<<std::showbase<<std::boolalpha<<"in the default locale, iswgraph("<<static_cast<std::wint_t>(c)<<") = "<<static_cast<bool>(std::iswgraph(c))<<'\n';std::setlocale(LC_ALL,"en_US.utf8");std::cout<<"in Unicode locale, iswgraph("<<static_cast<std::wint_t>(c)<<") = "<<static_cast<bool>(std::iswgraph(c))<<'\n';}Output:
in the default locale, iswgraph(0x2602) = false in Unicode locale, iswgraph(0x2602) = 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