Namensräume
Varianten
Aktionen

isdigit

Von cppreference.com
< 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.

Inhalt

[edit] Parameter

ch - zu klassifizierendes Zeichen

[edit] Rückgabewert

Ein von Null verschiedener Wert, wenn das Zeichen ein numerisches Zeichen ist, sonst Null.

[edit] Anmerkungen

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

[edit] 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

[edit] Referenzen

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

[edit] Siehe auch

prüft, ob ein breites Zeichen eine Ziffer ist
(Funktion) [bearbeiten]
C++ Dokumentation für isdigit
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 Steuercodes (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 Steuercodes ≠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ücktaste (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0