Namensräume
Varianten
Aktionen

isxdigit

Von cppreference.com
< c‎ | string‎ | byte
Definiert in Header <ctype.h>
int isxdigit( int ch );

Prüft, ob das gegebene Zeichen eine hexadezimale Ziffer (0123456789abcdefABCDEF) ist oder als hexadezimales Zeichen klassifiziert wird.

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

Inhalt

[bearbeiten] Parameter

ch - zu klassifizierendes Zeichen

[bearbeiten] Rückgabewert

Ein von Null verschiedener Wert, wenn das Zeichen eine hexadezimale Ziffer ist, sonst Null.

[bearbeiten] Hinweise

isdigit und isxdigit sind die einzigen Standardfunktionen zur Klassifizierung von schmalen 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.

[bearbeiten] Beispiel

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

Ausgabe

0123456789ABCDEFabcdef

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.4.1.12 Die Funktion isxdigit (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.4.1.12 Die Funktion isxdigit (p: 147)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.4.1.12 Die Funktion isxdigit (p: 203)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.4.1.12 Die Funktion isxdigit (p: 184)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.3.1.11 Die Funktion isxdigit

[bearbeiten] Siehe auch

prüft, ob ein breites Zeichen ein hexadezimales Zeichen ist
(Funktion) [bearbeiten]
C++-Dokumentation für isxdigit
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