Entrée/Sortie de fichiers C++ - <fstream>
En C++, <fstream>est une classe de la bibliothèque standard pour les opérations d'entrée/sortie de fichiers. Elle offre un moyen pratique de lire et d'écrire des fichiers.
fstreamOuiiostreamfait partie de la bibliothèque, prenant en charge la lecture et l'écriture de fichiers texte et binaires.
fstreamLa classe estiostreamUne classe de la bibliothèque qui hérite deistreametostream, ce qui signifie qu'elle peut être utilisée à la fois pour l'entrée et la sortie.
Syntaxe
fstreamLa syntaxe de base est la suivante :
int main() {
std::fstream file; // Créer un objet fstream
file.open("filename", mode); // Ouvrir le fichier
// Effectuer des opérations sur les fichiers
file.close(); // Fermer le fichier
return 0;
}
oùfilenameest le nom du fichier,modeest le mode d'ouverture des fichiers, les modes courants incluent :
std::ios::in: Ouvre le fichier en mode d'entrée.std::ios::out: Ouvre le fichier en mode de sortie.std::ios::app: Ouvre le fichier en mode d'ajout.std::ios::ate: Ouvre le fichier et se positionne à la fin du fichier.std::ios::trunc: ouvre le fichier et le tronque, c'est-à-dire efface le contenu du fichier.
Exemple
Écrire dans un fichier texte :
Exemple
#include <iostream>
int main() {
std::fstream file;
file.open("example.txt", std::ios::out); // Ouvrir le fichier en mode de sortie
if (!file) {
std::cerr << "Impossible d'ouvrir le fichier !" << std::endl;
return 1; // Échec de l'ouverture du fichier
}
file << "Bonjour le monde !" << std::endl; // Écrire du texte
file.close(); // Fermer le fichier
return 0;
}
Créer un fichier nommé dans le répertoire courantexample.txtfichier, le contenu du fichier est :
Hello, World!
Lire un fichier texte
Exemple
#include <iostream>
#include <string>
int main() {
std::fstream file;
file.open("example.txt", std::ios::in); // Ouvrir le fichier en mode lecture
if (!file) {
std::cerr << "Impossible d'ouvrir le fichier !" << std::endl;
return 1; // Échec de l'ouverture du fichier
}
std::string line;
while (getline(file, line)) { // Lire ligne par ligne
std::cout << line << std::endl;
}
file.close(); // Fermer le fichier
return 0;
}
ifexample.txtLe fichier contient le contenu suivant :
Hello, World! This is a test file.
puis le programme affichera :
Hello, World! This is a test file.
Ajouter à un fichier :
Exemple
#include <iostream>
int main() {
std::fstream file;
file.open("example.txt", std::ios::app); // Ouvrir le fichier en mode ajout
if (!file) {
std::cerr << "Impossible d'ouvrir le fichier !" << std::endl;
return 1; // Échec de l'ouverture du fichier
}
file << "Ajout de cette ligne au fichier." << std::endl; // Ajouter du texte
file.close(); // Fermer le fichier
return 0;
}
example.txtLe fichier contenait à l'origine le contenu suivant :
Hello, World! This is a test file.
Après l'exécution du programme ci-dessus, le contenu du fichier deviendra :
Hello, World! This is a test file. Appending this line to the file.autres extensions