Bibliothèque standard C -<ctype.h>
Introduction
Le fichier d'en-tête de la bibliothèque standard Cctype.hLe fichier d'en-tête fournit certaines fonctions qui peuvent être utilisées pour tester et convertir des caractères. Ces fonctions servent principalement à vérifier les types de caractères (comme les lettres, les chiffres, les espaces, etc.) et à effectuer la conversion de casse des caractères.
<ctype.h>Il fournit un ensemble pratique de fonctions pour gérer les opérations de classification et de conversion de caractères, et constitue un outil important pour les opérations sur les caractères dans la bibliothèque standard C.
Voici un exemple simple montrant comment utiliser<ctype.h>Fonctions fournies :
Exemple
#include <ctype.h>
int main() {
char ch;
// Exemples de caractères
char chars[] = "a1 B? \n";
// Vérifier le type de chaque caractère
for (int i = 0; chars[i] != '\0'; i++) {
ch = chars[i];
printf("Caractère: '%c'\n", ch);
if (isalpha(ch)) {
printf(" - isalpha: Oui\n");
} else {
printf(" - isalpha: Non\n");
}
if (isdigit(ch)) {
printf(" - isdigit: Oui\n");
} else {
printf(" - isdigit: Non\n");
}
if (isspace(ch)) {
printf(" - isspace: Oui\n");
} else {
printf(" - isspace: Non\n");
}
if (isprint(ch)) {
printf(" - isprint: Oui\n");
} else {
printf(" - isprint: Non\n");
}
if (ispunct(ch)) {
printf(" - ispunct: Oui\n");
} else {
printf(" - ispunct: Non\n");
}
}
// Exemple de conversion de casse de caractère
char lower = 'a';
char upper = 'A';
printf("tolower('%c') = '%c'\n", upper, tolower(upper));
printf("toupper('%c') = '%c'\n", lower, toupper(lower));
return 0;
}
Le résultat de sortie est:
Character: 'a'
- isalpha: Yes
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: No
Character: '1'
- isalpha: No
- isdigit: Yes
- isspace: No
- isprint: Yes
- ispunct: No
Character: ' '
- isalpha: No
- isdigit: No
- isspace: Yes
- isprint: Yes
- ispunct: No
Character: 'B'
- isalpha: Yes
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: No
Character: '?'
- isalpha: No
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: Yes
Character: '
'
- isalpha: No
- isdigit: No
- isspace: Yes
- isprint: No
- ispunct: No
tolower('A') = 'a'
toupper('a') = 'A'
Fonctions de bibliothèque
Les fonctions définies dans le fichier d'en-tête ctype.h sont listées ci-dessous.
Ces fonctions sont utilisées pour tester si un caractère appartient à un certain type. Elles acceptentintcomme argument, dont la valeur doit être EOF ou représentable comme un unsigned char.
Si l'argument c satisfait la condition décrite, ces fonctions renvoient une valeur non nulle (vrai). Si l'argument c ne satisfait pas la condition décrite, ces fonctions renvoient zéro.
| Numéro de série | Fonction & Description |
|---|---|
| 1 | int isalnum(int c) Cette fonction vérifie si le caractère passé est une lettre ou un chiffre. |
| 2 | int isalpha(int c) Cette fonction vérifie si le caractère passé est une lettre. |
| 3 | int iscntrl(int c) Cette fonction vérifie si le caractère passé est un caractère de contrôle. |
| 4 | int isdigit(int c) Cette fonction vérifie si le caractère passé est un chiffre décimal. |
| 5 | int isgraph(int c) Cette fonction vérifie si le caractère passé a une représentation graphique. |
| 6 | int islower(int c) Cette fonction vérifie si le caractère passé est une lettre minuscule. |
| 7 | int isprint(int c) Cette fonction vérifie si le caractère passé est imprimable. |
| 8 | int ispunct(int c) Cette fonction vérifie si le caractère passé est un caractère de ponctuation. |
| 9 | int isspace(int c) Cette fonction vérifie si le caractère passé est un caractère d'espacement. |
| 10 | int isupper(int c) Cette fonction vérifie si le caractère passé est une lettre majuscule. |
| 11 | int isxdigit(int c) Cette fonction vérifie si le caractère passé est un chiffre hexadécimal. |
La bibliothèque standard inclut également deux fonctions de conversion qui acceptent et renvoient un "int".
| Numéro de série | Fonction & Description |
|---|---|
| 1 | int tolower(int c) Cette fonction convertit une lettre majuscule en lettre minuscule. |
| 2 | int toupper(int c) Cette fonction convertit une lettre minuscule en lettre majuscule. |
classe de caractères
| Numéro de série | Classes de caractères et description |
|---|---|
| 1 | Nombres Ensemble complet des chiffres { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } |
| 2 | Chiffres hexadécimaux Ensemble { 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f } |
| 3 | Lettres minuscules Ensemble { a b c d e f g h i j k l m n o p q r s t u v w x y z } |
| 4 | Lettres majuscules Ensemble {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z } |
| 5 | Lettre Ensemble des lettres minuscules et majuscules |
| 6 | Caractère alphanumérique L'ensemble des chiffres, des lettres minuscules et des lettres majuscules. |
| 7 | Caractère de ponctuation Ensemble ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ |
| 8 | Caractère graphique L'ensemble des caractères alphanumériques et des caractères de ponctuation. |
| 9 | Caractère d'espacement L'ensemble des caractères de tabulation, de saut de ligne, de tabulation verticale, de saut de page, de retour chariot et d'espacement. |
| 10 | Caractère imprimable L'ensemble des caractères alphanumériques, des caractères de ponctuation et des caractères d'espacement. |
| 11 | Caractère de contrôle En encodage ASCII, les codes octaux pour ces caractères vont de 000 à 037, ainsi que 177 (DEL). |
| 12 | caractère d'espacement Comprend les caractères espace et tabulation. |
| 13 | Caractère alphabétique Ensemble des lettres minuscules et majuscules. |