Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

La librairie <ctype.h> (<cctype> en C++)

Accès rapide :
Les fonctions de tests de caractères
Les fonctions de transformations de caractères
Comparaisons entre ces différentes fonctions

La fonction isalnum


Cette librairie propose un ensemble de fonction de traitement de caractères. On peut classifier cet ensemble de fonctions en deux catégories : les fonctions de tests, pour savoir si un caractère est d'une certaine nature, et les fonctions de transformations, notamment utilent pour les changement de casses (minuscules, majuscules).

Attention : ces fonctions supportent uniquement la table d'encodage ASCII (American Standard Coding for Information Interchange). Cette table ne définie que 128 caratcères (de code 0 à 127). Ainsi, un caractère « é » (définit dans les standards ISO-8859-1, UTF-8, UTF-16, ...) ne sera pas pris en compte : il n'est donc pas un caractère alpha-numérique.

Les fonctions de tests de caractères

Ces fonctions sont très facile à identifier : elles sont toutes préfixées de is. Elles renvoient toutes une valeur entière typée int, mais vous devrait interpréter cette valeur en temps que booléen (true / false). Voici la liste des fonctions de cette catégorie.

Nom Type Description Depuis
isalnum fonction Vérifie si un caractère est alpha-numérique. C89
isalpha fonction Vérifie si un caractère est alphabétique. C89
isblank fonction Vérifie si un caractère est blanc ou non. C89
iscntrl fonction Vérifie si l'on a à faire à un caractère de contrôle. C89
isdigit fonction Vérifie si un caractère est un chiffre. C89
isgraph fonction Vérifie si un caractère posséde une représentation graphique. C89
islower fonction Vérifie si un caractère est une lettre minuscule. C89
isprint fonction Vérifie si un caractère est affichable (printable) ou non. C89
ispunct fonction Vérifie si l'on a à faire à un caractère de ponctuation. C89
isspace fonction Vérifie si l'on a à faire à un caractère d'espacement. C89
isupper fonction Vérifie si un caractère est une lettre majuscule. C89
isxdigit fonction Vérifie si un caractère est un chiffre hexadécimal. C89

Les fonctions de transformations de caractères

Nom Type Description Depuis
tolower fonction Transforme une lettre majuscule en une minuscule. C89
toupper fonction Transforme une lettre minuscule en une majuscule. C89

Comparaisons entre ces différentes fonctions

Afin de mieux comprendre les différences entre les fonctions de tests proposées, nous vous invitons à analyser le tableaux suivants. Il indique, via un code couleur (vert = true et rouge = false) le résultat de chaque fonction pour chacune des plages de caractères proposées.

Codes ASCII Plage de caractères iscntrl isblank isspace isupper islower isalpha isdigit isxdigit isalnum ispunct isgraph isprint
0x00..0x08 Caractères de contrôles x
0x09 Caractère de contrôle (tab) x x x
0x0A..0x0D Caractères de contrôles (white spaces : '\f', '\v', '\n', '\r') x x
0x0E..0x1F Caractères de contrôles x
0x20 L'espace x x x
0x21..0x2F !"#$%&'()*+,-./ x x x
0x30..0x39 0123456789 x x x x x
0x3a..0x40 :;<=>?@ x x x
0x41..0x46 ABCDEF x x x x x x
0x47..0x5A GHIJKLMNOPQRSTUVWXYZ x x x x x
0x5B..0x60 [\]^_` x x x
0x61..0x66 abcdef x x x x x x
0x67..0x7A ghijklmnopqrstuvwxyz x x x x x
0x7B..0x7E {|}~ x x x
0x7F DEL x


La fonction isalnum