Namespaces
Variants

isxdigit

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

Vérifie si le caractère donné est un caractère numérique hexadécimal ( 0123456789 abcdefABCDEF ) ou est classifié comme un caractère hexadécimal.

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 hexadécimal, zéro sinon.

Notes

isdigit et isxdigit sont les seules fonctions standard de classification des 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 supplémentaires sur un octet comme des chiffres.

Exemple

#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");
}

Sortie :

0123456789ABCDEFabcdef

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.4.1.12 La fonction isxdigit (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.4.1.12 La fonction isxdigit (p : 147)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.4.1.12 La fonction isxdigit (p: 203)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.4.1.12 La fonction isxdigit (p: 184)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.3.1.11 La fonction isxdigit

Voir aussi

vérifie si un caractère large est un caractère hexadécimal
(fonction)
Documentation C++ pour isxdigit
**Note:** Le texte fourni ne contient aucun contenu linguistique à traduire en français. Tous les éléments sont soit : - Des balises HTML (conservées intactes) - Du code C++ (dans les balises ` `, non traduit) - Des valeurs numériques et caractères spéciaux (non traduits) - Des symboles mathématiques (≠0, non traduits) La structure du tableau HTML a été préservée exactement comme dans l'original. **Note:** Aucun texte n'a nécessité de traduction dans cet extrait HTML car : - Les nombres et codes C++ sont préservés selon les instructions - Les balises HTML et leurs attributs sont conservés intacts - Le texte "71–90" représente une plage numérique qui ne se traduit pas - Les caractères dans les balises ` ` sont des représentations hexadécimales, octales et des lettres qui ne se traduisent pas **Note:** Aucun texte n'a été traduit car : - Les nombres et caractères dans les balises ` ` sont préservés - Les symboles mathématiques (`≠0`) sont conservés - Les plages numériques (103–122) ne nécessitent pas de traduction - Aucun texte libre en dehors des balises ` ` n'a été trouvé 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