iswdigit
|
Défini dans l'en-tête
<wctype.h>
|
||
|
int
iswdigit
(
wint_t ch
)
;
|
(depuis C95) | |
Vérifie si le caractère large donné correspond (s'il est rétréci) à l'un des dix caractères de chiffres décimaux 0123456789 .
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, 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("iswdigit: %d %d %d\n", !!iswdigit(a3), !!iswdigit(u3), !!iswdigit(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'3'; // the ASCII digit 3 wchar_t u3 = L'三'; // the CJK numeral 3 wchar_t j3 = L'3'; // the full-width digit 3 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:
'3' '三' '3'
iswdigit: 1 0 0
jdigit: 0 0 0
In Japanese locale:
'3' '三' '3'
iswdigit: 1 0 0
jdigit: 0 0 1
Références
- Norme C23 (ISO/IEC 9899:2024):
-
- À déterminer 7.30.2.1.5 La fonction iswdigit (p: À déterminer)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.30.2.1.5 La fonction iswdigit (p: 327)
- Norme C11 (ISO/IEC 9899:2011):
-
- 7.30.2.1.5 La fonction iswdigit (p: 449)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 7.25.2.1.5 La fonction iswdigit (p : 395)
Voir aussi
|
vérifie si un caractère est un chiffre
(fonction) |
|
|
documentation C++
pour
iswdigit
|
|
| Valeurs ASCII | caractères |
isdigit
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
|