Namespaces
Variants

std:: iswdigit

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

Prüft, ob das gegebene Breitzeichen (bei Verengung) einem der zehn Dezimalziffernzeichen 0123456789 entspricht.

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 ein numerisches Zeichen ist, andernfalls Null.

Hinweise

std::iswdigit und std::iswxdigit sind die einzigen Standard-Breitzeichen-Klassifizierungsfunktionen, die nicht von der aktuell installierten C-Lokalisierung beeinflusst werden.

Beispiel

Einige Locales bieten zusätzliche Zeichenklassen, die nicht-ASCII-Ziffern erkennen

#include <clocale>
#include <cwctype>
#include <iostream>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
    std::wcout << std::boolalpha
               << "\t   '" << a3 << "'   '" << u3 << "'  '" << j3  << "'\n"
               << "iswdigit: "
               << (bool)std::iswdigit(a3) << "  "
               << (bool)std::iswdigit(u3) << " "
               << (bool)std::iswdigit(j3) << '\n'
               << "jdigit:   "
               << (bool)std::iswctype(a3, std::wctype("jdigit")) << ' '
               << (bool)std::iswctype(u3, std::wctype("jdigit")) << ' '
               << (bool)std::iswctype(j3, std::wctype("jdigit")) << '\n';
}
int main()
{
    wchar_t a3 = L'3';  // the ASCII digit 3
    wchar_t u3 = L'三'; // the CJK numeral 3
    wchar_t j3 = L'3'; // the full-width digit 3
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout << "In American locale:\n";
    test(a3, u3, j3);
    std::wcout << "\nIn Japanese locale:\n";
    std::setlocale(LC_ALL, "ja_JP.utf8");
    test(a3, u3, j3);
}

Mögliche Ausgabe:

In American locale:
           '3'   '三'  '3'
iswdigit: true  false false
jdigit:   false false false
In Japanese locale:
           '3'   '三'  '3'
iswdigit: true  false false
jdigit:   false false true

Siehe auch

prüft, ob ein Zeichen gemäß einem Gebietsschema als Ziffer klassifiziert wird
(Funktionsschablone)
prüft, ob ein Zeichen eine Ziffer ist
(Funktion)
C-Dokumentation für iswdigit
**Änderungen:** - "control codes" wurde zu "Steuerzeichen" übersetzt - Alle HTML-Tags, Attribute und Code-Blöcke wurden unverändert beibehalten - C++-spezifische Begriffe wie "NUL" wurden nicht übersetzt - Die Formatierung und Struktur wurde exakt beibehalten **Übersetzungsdetails:** - "backspace character" wurde als "Rücklöschtaste" übersetzt (technisch korrekte Bezeichnung für DEL-Taste im Deutschen) - Alle HTML-Tags, Attribute und Formatierung wurden unverändert beibehalten - Text innerhalb der ` `-Tags wurde nicht übersetzt - C++-spezifische Begriffe (DEL, Hex/Octal-Codes) wurden original belassen - Die numerischen Werte und mathematischen Symbole (≠0) wurden nicht verändert
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