iswxdigit
|
Défini dans l'en-tête
<wctype.h>
|
||
|
int
iswxdigit
(
wint_t ch
)
;
|
(depuis C95) | |
Vérifie si le caractère large donné correspond (s'il est rétréci) à un caractère numérique hexadécimal, c'est-à-dire l'un des
0123456789abcdefABCDEF
.
Table des matières |
Paramètres
| ch | - | caractère large |
Valeur de retour
Valeur non nulle si le caractère large est un caractère numérique hexadécimal, zéro sinon.
Notes
iswdigit
et
iswxdigit
sont les seules fonctions standard de classification des caractères larges qui ne sont pas affectées par les paramètres régionaux C actuellement installés.
Exemple
Certaines locales offrent des classes de caractères supplémentaires qui détectent les chiffres non-ASCII
#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); }
Sortie possible :
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
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.30.2.1.12 La fonction iswxdigit (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.30.2.1.12 La fonction iswxdigit (p: TBD)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.30.2.1.12 La fonction iswxdigit (p: 451)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.25.2.1.12 La fonction iswxdigit (p: 397)
Voir aussi
|
vérifie si un caractère est un caractère hexadécimal
(fonction) |
|
|
Documentation C++
pour
iswxdigit
|
|
| Valeurs ASCII | caractères |
isxdigit
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| décimal | hexadécimal | octal | |||||||||||||
| 0–8 |
\x0
–
\x8
|
\0
–
\10
|
codes de contrôle (
NUL
, etc.)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 9 |
\x9
|
\11
|
tabulation (
\t
)
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 10–13 |
\xA
–
\xD
|
\12
–
\15
|
espaces blancs (
\n
,
\v
,
\f
,
\r
)
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 14–31 |
\xE
–
\x1F
|
\16
–
\37
|
codes de contrôle |
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 32 |
\x20
|
\40
|
espace |
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
|
caractère d'effacement (
DEL
)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|