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 <stdio.h>
#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érieFonction & Description
1int isalnum(int c)
Cette fonction vérifie si le caractère passé est une lettre ou un chiffre.
2int isalpha(int c)
Cette fonction vérifie si le caractère passé est une lettre.
3int iscntrl(int c)
Cette fonction vérifie si le caractère passé est un caractère de contrôle.
4int isdigit(int c)
Cette fonction vérifie si le caractère passé est un chiffre décimal.
5int isgraph(int c)
Cette fonction vérifie si le caractère passé a une représentation graphique.
6int islower(int c)
Cette fonction vérifie si le caractère passé est une lettre minuscule.
7int isprint(int c)
Cette fonction vérifie si le caractère passé est imprimable.
8int ispunct(int c)
Cette fonction vérifie si le caractère passé est un caractère de ponctuation.
9int isspace(int c)
Cette fonction vérifie si le caractère passé est un caractère d'espacement.
10int isupper(int c)
Cette fonction vérifie si le caractère passé est une lettre majuscule.
11int 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érieFonction & Description
1int tolower(int c)
Cette fonction convertit une lettre majuscule en lettre minuscule.
2int toupper(int c)
Cette fonction convertit une lettre minuscule en lettre majuscule.

classe de caractères

Numéro de sérieClasses de caractères et description
1Nombres
Ensemble complet des chiffres { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
2Chiffres 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 }
3Lettres 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 }
4Lettres 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 }
5Lettre
Ensemble des lettres minuscules et majuscules
6Caractère alphanumérique
L'ensemble des chiffres, des lettres minuscules et des lettres majuscules.
7Caractère de ponctuation
Ensemble ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
8Caractère graphique
L'ensemble des caractères alphanumériques et des caractères de ponctuation.
9Caractè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.
10Caractère imprimable
L'ensemble des caractères alphanumériques, des caractères de ponctuation et des caractères d'espacement.
11Caractère de contrôle
En encodage ASCII, les codes octaux pour ces caractères vont de 000 à 037, ainsi que 177 (DEL).
12caractère d'espacement
Comprend les caractères espace et tabulation.
13Caractère alphabétique
Ensemble des lettres minuscules et majuscules.
autres extensions