Namespaces
Variants

isdigit

From cppreference.net
< c ‎ | string ‎ | byte
Definiert in Header <ctype.h>
int isdigit ( int ch ) ;

Prüft, ob das gegebene Zeichen ein numerisches Zeichen ist ( 0123456789 ).

Das Verhalten ist undefiniert, wenn der Wert von ch nicht als unsigned char darstellbar ist und nicht gleich EOF ist.

Inhaltsverzeichnis

Parameter

ch - zu klassifizierendes Zeichen

Rückgabewert

Ein Wert ungleich Null, wenn das Zeichen ein numerisches Zeichen ist, andernfalls Null.

Hinweise

isdigit und isxdigit sind die einzigen Standard-Funktionen zur Klassifizierung schmaler Zeichen, die nicht von der aktuell installierten C-Locale beeinflusst werden, obwohl einige Implementierungen (z.B. Microsoft in 1252 codepage ) zusätzliche Ein-Byte-Zeichen als Ziffern klassifizieren können.

Beispiel

#include <ctype.h>
#include <limits.h>
#include <stdio.h>
int main(void)
{
    for (int ndx = 0; ndx <= UCHAR_MAX; ++ndx)
        if (isdigit(ndx))
            printf("%c", ndx);
    printf("\n");
}

Ausgabe:

0123456789

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.4.1.5 Die isdigit-Funktion (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.4.1.5 Die isdigit-Funktion (S. 146)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.4.1.5 Die isdigit-Funktion (S: 201)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.4.1.5 Die isdigit-Funktion (S. 182)
  • C89/C90-Standard (ISO/IEC 9899:1990):
  • 4.3.1.4 Die isdigit-Funktion

Siehe auch

prüft, ob ein Breitzeichen eine Ziffer ist
(Funktion)
C++-Dokumentation für isdigit
**Übersetzte Elemente:** - "control codes" → "Steuerzeichen" - "etc." → "etc." (bleibt unverändert, da Abkürzung) **Beibehaltene Elemente:** - Alle HTML-Tags und Attribute - Text innerhalb von ` `-Tags - C++-spezifische Begriffe (`NUL`) - Zahlen, Symbole und Formatierung **Anmerkung:** Da der Text innerhalb der ` `-Tags und numerische Werte nicht übersetzt werden sollten, und da außerhalb dieser Tags nur Bindestriche und Zahlen vorhanden sind, die ebenfalls nicht übersetzt werden müssen, bleibt der gesamte Inhalt unverändert. Die einzigen übersetzbaren Elemente wären Beschriftungen wie Spaltenüberschriften, die in diesem HTML-Ausschnitt jedoch nicht enthalten sind. **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente außerhalb der geschützten Tags. Alle Inhalte innerhalb der ` `-Tags sowie die numerischen Werte und C++-spezifischen Symbole (wie `≠0`) bleiben gemäß den Anforderungen unverä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 \173 \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