Compter les caractères dans un fichier à l'aide de C++

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à compter l'occurrence d'un caractère dans un fichier en utilisant la programmation C++. Nous allons créer un programme C++ qui lit un fichier et compte le nombre de fois qu'un caractère particulier apparaît dans le fichier.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/variables -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/data_types -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/strings -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/conditions -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/while_loop -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/output -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/files -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} cpp/code_formatting -.-> lab-96159{{"Compter les caractères dans un fichier à l'aide de C++"}} end

Créer un fichier

Tout d'abord, nous devons créer un fichier avec du texte dedans. Créons un fichier nommé example.txt dans le répertoire ~/project, et écrivons-y du texte. Pour ce faire, exécutez la commande suivante dans le terminal :

echo -e "This is an example file\nIt contains some text" > ~/project/example.txt

Inclure les fichiers d'en-tête

Dans cette étape, incluez les fichiers d'en-tête requis, iostream et fstream. iostream est requis pour les opérations d'entrée et de sortie, et fstream est requis pour les opérations de gestion de fichiers. Créez un nouveau fichier nommé main.cpp dans le répertoire ~/project, et ouvrez-le dans un éditeur de texte.

#include <iostream>
#include <fstream>
using namespace std;

Définir des variables

Dans cette étape, nous définissons les variables filename pour le fichier d'entrée, ch pour stocker le caractère actuel que le programme est en train de lire, et count pour compter le nombre de fois que le caractère apparaît dans le fichier.

string filename = "example.txt";
char ch;
int count = 0;

Ouvrir et lire le fichier d'entrée

Dans cette étape, nous créons un objet ifstream pour ouvrir le fichier d'entrée example.txt en mode lecture. Ensuite, nous utilisons une boucle while pour lire le fichier caractère par caractère. Nous utilisons la fonction get() pour lire un caractère à la fois à partir du fichier. Nous vérifions si le caractère lu correspond au caractère que nous voulons compter. Si le caractère actuel correspond, nous incrémentons la variable count.

ifstream fin(filename,ios::in);

while(fin.get(ch)){
    if(ch == 'e')
        count++;
}

Afficher le résultat

Dans cette étape, nous affichons le nombre de fois que le caractère apparaît dans le fichier. Nous fermons également le fichier d'entrée.

cout << "Le nombre de fois que 'e' apparaît dans le fichier est : " << count;
fin.close();

Compiler et exécuter le programme

Dans cette étape, nous compilons le programme C++ et l'exécutons pour compter l'occurrence d'un caractère dans le fichier. Ouvrez le terminal et accédez au répertoire ~/project, puis exécutez la commande suivante :

g++ main.cpp -o main && ./main

Cela compilera et exécutera le fichier main.cpp. La sortie affichera le nombre de fois que le caractère apparaît dans le fichier.

Le code final du fichier main.cpp est le suivant :

#include <iostream>
#include <fstream>
using namespace std;

int main(){
    string filename = "example.txt";
    char ch;
    int count = 0;

    ifstream fin(filename,ios::in);

    while(fin.get(ch)){
        if(ch == 'e')
            count++;
    }

    cout << "Le nombre de fois que 'e' apparaît dans le fichier est : " << count;
    fin.close();

    return 0;
}

Récapitulatif

Dans ce laboratoire, nous avons appris à compter le nombre de fois qu'un caractère particulier apparaît dans un fichier en utilisant la programmation C++. Nous avons lu un fichier caractère par caractère à l'aide d'un objet ifstream et compté le nombre de fois que le caractère requis apparaît. Nous avons également affiché le résultat sur la console.