ctype, isalpha, isupper, islower, isdigits, isxdigit, isalnum, isspace, ispunct, isprint, isgraph, iscntrl ou isascii Sous-routines

Objectif

Classifie les caractères.

Bibliothèque

Bibliothèque de caractères standard (libc.a)

Syntaxe

#include <ctype.h> 
int isalpha ( Character)
int Character;
int isupper (Character)
int Character;
int islower (Character)
int Character;
int isdigit (Character)
int Character;
int isxdigit (Character)
int Character;
int isalnum (Character)
int Character;
int isspace (Character)
int Character;
int ispunct (Character)
int Character;
int isprint (Character)
int Character;
int isgraph (Character)
int Character;
int iscntrl (Character)
int Character;
int isascii (Character)
int Character;

Descriptif

Les sous-routines ctype classifient les valeurs entières codées en caractères spécifiées dans une table. Chacune de ces sous-routines renvoie une valeur non nulle pour True et 0 pour False.

Remarque: Les sous-routines ctype ne doivent être utilisées que sur des données de type caractères pouvant être représentées par une valeur d'octet unique (0 à 255). La tentative d'utilisation des sous-routines ctype sur des données d'environnement local multi-octets peut donner des résultats incohérents. Routines de classification de caractères larges (telles que iswprint, iswlower, etc.) doit être utilisé avec les données de caractères multi-octets.

Tests de caractères dépendants de l'environnement local

Les sous-routines suivantes renvoient une valeur différente de zéro (True) en fonction des définitions de classe de caractères de l'environnement local en cours.

Article Descriptif
num_isal Renvoie une valeur différente de zéro pour tout caractère pour lequel la sous-routine isalpha ou isdigit renvoie une valeur différente de zéro. La sous-routine isalnum teste si le caractère est de la classe alpha ou chiffre .
isalpha Renvoie une valeur différente de zéro pour tout caractère pour lequel les sous-routines isupper ou islower renvoient une valeur différente de zéro. Le sous-programme isalpha renvoie également une valeur différente de zéro pour tout caractère défini comme caractère alphabétique dans l'environnement local en cours, ou pour un caractère pour lequel aucun des sous-programmes iscntrl, isdigit, ispunctou isspace renvoie une valeur différente de zéro. La sous-routine isalpha teste si le caractère appartient à la classe alpha .
isupper Renvoie une valeur différente de zéro pour toute lettre majuscule [ A à Z ]. La sous-routine isupper renvoie également une valeur différente de zéro pour tout caractère défini en majuscules dans l'environnement local en cours. La sous-routine isupper teste si le caractère appartient à la classe upper .
islower Renvoie une valeur différente de zéro pour toute lettre minuscule [ a à z ]. La sous-routine islower renvoie également une valeur différente de zéro pour tout caractère défini en minuscules dans l'environnement local en cours. La sous-routine islower teste si le caractère est de la classe lower .
isspace Renvoie une valeur différente de zéro pour tout caractère blanc (espace, saut de page, nouvelle ligne, retour chariot, tabulation horizontale ou verticale). La sous-routine isspace teste si le caractère appartient à la classe space .
ispunct Renvoie une valeur différente de zéro pour tout caractère pour lequel la sous-routine isprint renvoie une valeur différente de zéro, à l'exception du caractère espace et de tout caractère pour lequel la sous-routine isalnum renvoie une valeur différente de zéro. La sous-routine ispunct renvoie également une valeur différente de zéro pour tout caractère défini par l'environnement local spécifié comme caractère de ponctuation. La sous-routine ispunct teste si le caractère appartient à la classe punct .
isprint Renvoie une valeur différente de zéro pour tout caractère d'impression. Renvoie une valeur différente de zéro pour tout caractère défini par l'environnement local et désigné comme caractère d'impression. Cette routine teste si le caractère appartient à la classe print .
isgraphe Renvoie une valeur différente de zéro pour tout caractère pour lequel le caractère isprint renvoie une valeur différente de zéro, à l'exception du caractère espace. La sous-routine isgraph teste si le caractère est de la classe graph .
iscntrl Renvoie une valeur différente de zéro pour tout caractère pour lequel la sous-routine isprint renvoie la valeur False (0) et tout caractère désigné comme caractère de contrôle dans l'environnement local en cours. Pour l'environnement local C, les caractères de contrôle sont le caractère de suppression ASCII (0127 ou 0x7F) ou un caractère de contrôle ordinaire (inférieur à 040 ou 0x20). Le sous-programme iscntrl teste si le caractère est de la classe cntrl .

Tests de caractères indépendants de l'environnement local

Les sous-routines suivantes renvoient des valeurs différentes de zéro pour les mêmes caractères, quel que soit l'environnement local:

Article Descriptif
isdigit Caractère est un chiffre compris entre 0 et 9.
isxdigit Caractère est un chiffre hexadécimal compris entre [ 0 et 9 ], [ A à F ] ou [ a à f ].
isascii Caractère est un caractère ASCII dont la valeur est comprise entre [ 0 et 0x7F].

Paramètre

Article Descriptif
CHARACTER Indique le caractère à tester (valeur entière).

Codes retour

Les sous-routines ctype renvoient une valeur différente de zéro (True) si le caractère spécifié par le paramètre Character est un membre de la classe de caractères sélectionnée ; dans le cas contraire, la valeur 0 (False) est renvoyée.