From cppreference.com
intiswprint(std::wint_tch);Checks if the given wide character can be printed, i.e. it is either a number (0123456789), an uppercase letter (ABCDEFGHIJKLMNOPQRSTUVWXYZ), a lowercase letter (abcdefghijklmnopqrstuvwxyz), a punctuation character (!"#$%&'()*+,-./:;<=>?@[\]^_`{!}~), space or any printable 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 can be printed, zero otherwise.
Notes
specifies which Unicode characters are include in POSIX print category.
Example
Run this code
#include<clocale>#include<cwctype>#include<iostream>voiddemo_iswprint(std::string_viewrem,conststd::wint_tc){std::cout<<std::boolalpha<<std::hex<<std::showbase<<rem<<"iswprint('"<<c<<"') = "<<!!std::iswprint(c)<<'\n';}intmain(){constwchar_tc1=L'\u2002';// en-spaceconstwchar_tc2=L'\u0082';// break permitteddemo_iswprint("In default locale:\n",c1);std::setlocale(LC_ALL,"en_US.utf8");demo_iswprint("In Unicode locale:\n",c1);demo_iswprint("",c2);}Possible output:
In default locale: iswprint('0x2002') = false In Unicode locale: iswprint('0x2002') = true iswprint('0x82') = false 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