Namespaces
Variants

std:: iswprint

From cppreference.net
Definiert in Header <cwctype>
int iswprint ( std:: wint_t ch ) ;

Prüft, ob das gegebene Breitzeichen gedruckt werden kann, d.h. ob es entweder eine Zahl ( 0123456789 ), ein Großbuchstabe ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), ein Kleinbuchstabe ( abcdefghijklmnopqrstuvwxyz ), ein Satzzeichen ( !"#$%&'()*+,-./:;<=>?@[\]^_`{!}~ ), Leerzeichen oder ein druckbares Zeichen spezifisch für das aktuelle C-Locale ist.

Wenn der Wert von ch weder als wchar_t darstellbar ist noch gleich dem Wert des Makros WEOF , ist das Verhalten undefiniert.

Inhaltsverzeichnis

Parameter

ch - Breitzeichen

Rückgabewert

Ein Wert ungleich Null, wenn das Breitzeichen gedruckt werden kann, andernfalls Null.

Hinweise

ISO 30112 spezifiziert, welche Unicode-Zeichen in der POSIX-Druckkategorie enthalten sind.

Beispiel

#include <clocale>
#include <cwctype>
#include <iostream>
void demo_iswprint(std::string_view rem, const std::wint_t c)
{
    std::cout << std::boolalpha << std::hex << std::showbase
              << rem << "iswprint('" << c << "') = "
              << !!std::iswprint(c) << '\n';
}
int main()
{
    const wchar_t c1 = L'\u2002'; // en-space
    const wchar_t c2 = L'\u0082'; // break permitted
    demo_iswprint("In default locale:\n", c1);
    std::setlocale(LC_ALL, "en_US.utf8");
    demo_iswprint("In Unicode locale:\n", c1);
    demo_iswprint("", c2);
}

Mögliche Ausgabe:

In default locale:
iswprint('0x2002') = false
In Unicode locale:
iswprint('0x2002') = true
iswprint('0x82') = false

Siehe auch

prüft, ob ein Zeichen gemäß einem Gebietsschema als druckbar klassifiziert wird
(Funktionsschablone)
prüft, ob ein Zeichen ein druckbares Zeichen ist
(Funktion)
C-Dokumentation für iswprint
ASCII-Werte Zeichen

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

Dezimal Hexadezimal Oktal
0–8 \x0 \x8 \0 \10 Steuerzeichen ( NUL , etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 Tabulator ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 Leerzeichen ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 Steuerzeichen ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 Leerzeichen 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \172 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 Rücklöschtaste ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0