gestion de fichiers en C++:

En C++, vous pouvez utiliser les flux d’entrée/sortie de la bibliothèque standard pour lire et écrire des fichiers. Les classes ifstream et ofstream sont utilisées pour lire et écrire des fichiers, respectivement. Ces classes sont définies dans l’en-tête <fstream>.

Pour ouvrir un fichier en lecture, vous pouvez utiliser la méthode open de la classe ifstream:

#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::ifstream file;
    file.open("example.txt");

    if (!file) {
        std::cerr << "Erreur lors de l'ouverture du fichier" << std::endl;
        return 1;
    }

    // Lecture du fichier
    std::string line;
    while (std::getline(file, line)) {
        std::cout << line << std::endl;
    }

    file.close();
    return 0;
}

Ce code ouvre le fichier example.txt en lecture et affiche son contenu ligne par ligne. Si le fichier ne peut pas être ouvert, un message d’erreur est affiché.

Pour écrire dans un fichier, vous pouvez utiliser la méthode open de la classe ofstream:

#include <fstream>
#include <iostream>

int main() {
    std::ofstream file;
    file.open("output.txt");

    if (!file) {
        std::cerr << "Erreur lors de l'ouverture du fichier" << std::endl;
        return 1;
    }

    // Écriture dans le fichier
    file << "Hello, World!" << std::endl;

    file.close();
    return 0;
}

Ce code ouvre le fichier output.txt en écriture et écrit la chaîne “Hello, World!” dedans. Si le fichier ne peut pas être ouvert, un message d’erreur est affiché.

Pour modifier un fichier existant, vous pouvez lire son contenu dans une variable, effectuer les modifications nécessaires, puis réécrire le contenu modifié dans le fichier. Par exemple:

#include <fstream>
#include <iostream>
#include <string>

int main() {
    // Lecture du fichier
    std::ifstream input_file;
    input_file.open("example.txt");

    if (!input_file) {
        std::cerr << "Erreur lors de l'ouverture du fichier" << std::endl;
        return 1;
    }

    std::string content((std::istreambuf_iterator<char>(input_file)),
                        (std::istreambuf_iterator<char>()));
    input_file.close();

    // Modification du contenu
    content += "\nNouvelle ligne";

    // Écriture dans le fichier
    std::ofstream output_file;
    output_file.open("example.txt");

    if (!output_file) {
        std::cerr << "Erreur lors de l'ouverture du fichier" << std::endl;
        return 1;
    }

    output_file << content;

    output_file.close();
    return 0;
}

Ce code lit le contenu du fichier example.txt, ajoute une nouvelle ligne à la fin, puis réécrit le contenu modifié dans le même fichier.

Modifié le: vendredi 4 août 2023, 04:49