Namespaces
Variants

isdigit

From cppreference.net
< c ‎ | string ‎ | byte
Défini dans l'en-tête <ctype.h>
int isdigit ( int ch ) ;

Vérifie si le caractère donné est un caractère numérique ( 0123456789 ).

Le comportement n'est pas défini si la valeur de ch n'est pas représentable en tant que unsigned char et n'est pas égale à EOF .

Table des matières

Paramètres

ch - caractère à classifier

Valeur de retour

Valeur non nulle si le caractère est un caractère numérique, zéro sinon.

Notes

isdigit et isxdigit sont les seules fonctions standard de classification de caractères étroits qui ne sont pas affectées par les paramètres régionaux C actuellement installés, bien que certaines implémentations (par exemple Microsoft dans la page de codes 1252 ) puissent classer des caractères monococtets supplémentaires comme des chiffres.

Exemple

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

Sortie :

0123456789

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.4.1.5 La fonction isdigit (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018):
  • 7.4.1.5 La fonction isdigit (p: 146)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.4.1.5 La fonction isdigit (p: 201)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.4.1.5 La fonction isdigit (p: 182)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.3.1.4 La fonction isdigit

Voir aussi

vérifie si un caractère large est un chiffre
(fonction)
Documentation C++ pour isdigit
**Note:** Aucun texte à traduire n'a été trouvé dans ce fragment HTML. Tous les éléments sont soit : - Des balises HTML (conservées telles quelles) - Du contenu dans des balises ` ` (non traduit selon les instructions) - Des valeurs numériques et caractères spéciaux (ne nécessitant pas de traduction) Le fragment semble représenter un tableau de caractères ASCII avec leurs représentations hexadécimales, octales et leurs propriétés. **Note:** Aucun texte n'a été traduit car : - Les nombres (71–90) et les plages de caractères restent inchangés - Le contenu des balises ` ` est préservé - Les symboles mathématiques (≠0) ne sont pas traduits - La structure HTML et les attributs sont maintenus intacts **Note:** Aucun texte n'a été traduit car : - Les nombres (103–122) et symboles mathématiques (≠0) ne nécessitent pas de traduction - Tout le contenu se trouve dans des balises ` ` qui doivent être préservées - Les tirets (–) sont des séparateurs techniques - Aucun texte libre en anglais n'était présent dans ce fragment HTML
Valeurs ASCII Caractères

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

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