Namespaces
Variants

isxdigit

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

Prüft, ob das gegebene Zeichen ein hexadezimales numerisches Zeichen ist ( 0123456789 abcdefABCDEF ) oder als Hexadezimalzeichen klassifiziert wird.

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 hexadezimales 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 im Codepage 1252) 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; UCHAR_MAX >= ndx; ++ndx)
        if (isxdigit(ndx))
            printf("%c", ndx);
    printf("\n");
}

Ausgabe:

0123456789ABCDEFabcdef

Referenzen

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

Siehe auch

prüft, ob ein Breitzeichen ein hexadezimales Zeichen ist
(Funktion)
C++-Dokumentation für isxdigit
**Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente außerhalb der geschützten Tags. Alle Inhalte innerhalb der ` `-Tags sowie die mathematischen Symbole (`≠0`) wurden gemäß den Anforderungen beibehalten. **Änderungen:** - "backspace character" wurde zu "Rücklöschtaste" übersetzt - Alle HTML-Tags, Attribute und Code-Blöcke wurden unverändert beibehalten - C++-spezifische Begriffe (DEL, Hex/Octal-Codes) wurden nicht übersetzt - Die Formatierung und Struktur der Tabelle bleibt vollständig erhalten
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