Namespaces
Variants

iswxdigit

From cppreference.net
< c ‎ | string ‎ | wide
Definiert in Header <wctype.h>
int iswxdigit ( wint_t ch ) ;
(seit C95)

Prüft, ob das gegebene Breitzeichen (bei Verengung) einem hexadezimalen numerischen Zeichen entspricht, d.h. einem der 0123456789abcdefABCDEF .

Inhaltsverzeichnis

Parameter

ch - Breitzeichen

Rückgabewert

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

Hinweise

iswdigit und iswxdigit sind die einzigen standardmäßigen Breitzeichen-Klassifizierungsfunktionen, die nicht von der aktuell installierten C-Locale beeinflusst werden.

Beispiel

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

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
    printf("\t  '%lc'  '%lc' '%lc'\n", a3, u3, j3);
    printf("iswxdigit: %d    %d    %d\n",
           !!iswxdigit(a3),
           !!iswxdigit(u3),
           !!iswxdigit(j3));
    printf("jdigit:    %d    %d    %d\n",
           !!iswctype(a3, wctype("jdigit")),
           !!iswctype(u3, wctype("jdigit")),
           !!iswctype(j3, wctype("jdigit")));
}
int main(void)
{
    wchar_t a3 = L'9';  // the ASCII digit 9
    wchar_t u3 = L'〩'; // the CJK numeral 9
    wchar_t j3 = L'9'; // the full-width digit 9
    setlocale(LC_ALL, "en_US.utf8");
    puts("In American locale:");
    test(a3, u3, j3);
    setlocale(LC_ALL, "ja_JP.utf8");
    puts("\nIn Japanese locale:");
    test(a3, u3, j3);
}

Mögliche Ausgabe:

In American locale:
	  '9'  '〩' '9'
iswxdigit: 1    0    0
jdigit:    0    0    0
In Japanese locale:
	  '9'  '〩' '9'
iswxdigit: 1    0    0
jdigit:    0    0    1

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.30.2.1.12 Die iswxdigit-Funktion (S: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.30.2.1.12 Die iswxdigit-Funktion (S: TBD)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.30.2.1.12 Die iswxdigit-Funktion (S. 451)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.25.2.1.12 Die iswxdigit-Funktion (S. 397)

Siehe auch

prüft, ob ein Zeichen ein hexadezimales Zeichen ist
(Funktion)
C++-Dokumentation für iswxdigit
**Übersetzungsdetails:** - "control codes" wurde zu "Steuerzeichen" übersetzt (technisch korrekter Begriff in der Informatik) - Alle HTML-Tags, Attribute und Formatierung wurden unverändert beibehalten - Text innerhalb der ` `-Tags wurde nicht übersetzt (C++-spezifische Begriffe wie `NUL`, `\x0`, `\0` etc.) - Die Zahlen und mathematischen Symbole (`≠0`) wurden nicht übersetzt - Die Struktur der Tabelle bleibt vollständig erhalten **Anmerkung:** Der Text wurde gemäß den Anforderungen übersetzt: - HTML-Tags und Attribute wurden unverändert belassen - Text innerhalb von ` `-Tags wurde nicht übersetzt - C++-spezifische Begriffe wurden beibehalten - Bindestriche zwischen Code-Blöcken wurden als Trennzeichen belassen - Zahlen und mathematische Symbole (≠0) wurden nicht übersetzt **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente außerhalb der geschützten Tags. Alle Inhalte innerhalb von ` `-Tags und numerische Werte bleiben unverändert, wie in den Anforderungen spezifiziert.
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