Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Gestion des fichiers C++ :comment ouvrir, écrire, lire et fermer des fichiers en C++

Qu'est-ce que la gestion des fichiers en C++ ?

Les fichiers stockent les données de manière permanente dans un périphérique de stockage. Avec la gestion des fichiers, la sortie d'un programme peut être stockée dans un fichier. Diverses opérations peuvent être effectuées sur les données dans le fichier.

Un flux est une abstraction d'un périphérique où les opérations d'entrée/sortie sont effectuées. Vous pouvez représenter un flux comme une destination ou une source de caractères de longueur indéfinie. Cela sera déterminé par leur utilisation. C++ vous fournit une bibliothèque qui contient des méthodes de gestion de fichiers. Discutons-en.

Dans ce didacticiel C++, vous apprendrez :

La bibliothèque fstream

La bibliothèque fstream fournit aux programmeurs C++ trois classes pour travailler avec des fichiers. Ces cours incluent :

L'image suivante facilite la compréhension :



Pour utiliser les classes ci-dessus de la bibliothèque fstream, vous devez l'inclure dans votre programme en tant que fichier d'en-tête. Bien sûr, vous utiliserez la directive de préprocesseur #include. Vous devez également inclure le fichier d'en-tête iostream.

Comment ouvrir des fichiers

Avant d'effectuer toute opération sur un fichier, vous devez d'abord l'ouvrir. Si vous devez écrire dans le fichier, ouvrez-le à l'aide des objets fstream ou ofstream. Si vous avez seulement besoin de lire le fichier, ouvrez-le à l'aide de l'objet ifstream.

Les trois objets, c'est-à-dire fstream, ofstream et ifstream, ont la fonction open() définie en eux. La fonction prend cette syntaxe :

open (file_name, mode);
Valeur Description ios ::appLe mode Append. La sortie envoyée au fichier lui est ajoutée.ios::ateIt ouvre le fichier pour la sortie puis déplace le contrôle de lecture et d'écriture à la fin du fichier.ios::inIt ouvre le fichier pour un read.ios::outIt ouvre le fichier pour un write.ios::truncSi un fichier existe, les éléments du fichier doivent être tronqués avant son ouverture.

Il est possible d'utiliser deux modes en même temps. Vous les combinez en utilisant le | Opérateur (OU).

Exemple 1 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file.close(); 
	}
	return 0;
}

Sortie :

Voici une capture d'écran du code :


Explication du code :

  1. Incluez le fichier d'en-tête iostream dans le programme pour utiliser ses fonctions.
  2. Incluez le fichier d'en-tête fstream dans le programme pour utiliser ses classes.
  3. Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit aller dans son corps.
  5. Créez un objet de la classe fstream et donnez-lui le nom my_file.
  6. Appliquez la fonction open() sur l'objet ci-dessus pour créer un nouveau fichier. Le mode out nous permet d'écrire dans le fichier.
  7. Utilisez l'instruction if pour vérifier si la création du fichier a échoué.
  8. Message à imprimer sur la console si le fichier n'a pas été créé.
  9. Fin du corps de l'instruction if.
  10. Utilisez une instruction else pour indiquer ce qu'il faut faire si le fichier a été créé.
  11. Message à imprimer sur la console si le fichier a été créé.
  12. Appliquez la fonction close() sur l'objet pour fermer le fichier.
  13. Fin du corps de l'instruction else.
  14. Le programme doit renvoyer une valeur s'il se termine avec succès.
  15. Fin du corps de la fonction main().

Comment fermer des fichiers

Une fois qu'un programme C++ se termine, il est automatiquement

Cependant, en tant que programmeur, vous devez apprendre à fermer les fichiers ouverts avant la fin du programme.

Les objets fstream, ofstream et ifstream ont la fonction close() pour fermer les fichiers. La fonction prend cette syntaxe :

void close();

Comment écrire dans des fichiers

Vous pouvez écrire dans un fichier directement depuis votre programme C++. Vous utilisez l'opérateur d'insertion de flux (<<) pour cela. Le texte à écrire dans le fichier doit être entouré de guillemets doubles.

Démontrons-le.

Exemple 2 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file << "Guru99";
		my_file.close();
	}
	return 0;
}

Sortie :

Voici une capture d'écran du code :


Explication du code :

  1. Incluez le fichier d'en-tête iostream dans le programme pour utiliser ses fonctions.
  2. Incluez le fichier d'en-tête fstream dans le programme pour utiliser ses classes.
  3. Incluez l'espace de noms std dans le programme pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  5. Créez une instance de la classe fstream et donnez-lui le nom my_file.
  6. Utilisez la fonction open() pour créer un nouveau fichier nommé my_file.txt. Le fichier sera ouvert en mode sortie pour y écrire.
  7. Utilisez une instruction if pour vérifier si le fichier n'a pas été ouvert.
  8. Texte à imprimer sur la console si le fichier n'est pas ouvert.
  9. Fin du corps de l'instruction if.
  10. Utilisez une instruction else pour indiquer ce qu'il faut faire si le fichier a été créé.
  11. Texte à imprimer sur la console si le fichier a été créé.
  12. Écrivez du texte dans le fichier créé.
  13. Utilisez la fonction close() pour fermer le fichier.
  14. Fin du corps de l'instruction else.
  15. Le programme doit renvoyer une valeur en cas de réussite.
  16. Fin du corps de la fonction main().

Comment lire à partir de fichiers

Vous pouvez lire des informations à partir de fichiers dans votre programme C++. Ceci est possible en utilisant l'opérateur d'extraction de flux (>>). Vous utilisez l'opérateur de la même manière que vous l'utilisez pour lire les entrées de l'utilisateur à partir du clavier. Cependant, au lieu d'utiliser l'objet cin, vous utilisez l'objet ifstream/fstream.

Exemple 3 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

Sortie :

Aucun fichier de ce type

Voici une capture d'écran du code :

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans le programme pour utiliser ses fonctions.
  2. Incluez le fichier d'en-tête fstream dans le programme pour utiliser ses classes.
  3. Incluez l'espace de noms std dans le programme pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  5. Créez une instance de la classe fstream et donnez-lui le nom my_file.
  6. Utilisez la fonction open() pour créer un nouveau fichier nommé my_file.txt. Le fichier sera ouvert en mode in pour lecture à partir de celui-ci.
  7. Utilisez une instruction if pour vérifier si le fichier n'existe pas.
  8. Texte à imprimer sur la console si le fichier n'est pas trouvé.
  9. Fin du corps de l'instruction if.
  10. Utilisez une instruction else pour indiquer ce qu'il faut faire si le fichier est trouvé.
  11. Créez une variable char nommée ch.
  12. Créez une boucle while pour parcourir le contenu du fichier.
  13. Écrire/stocker le contenu du fichier dans la variable ch.
  14. Utilisez une condition if et une fonction eof() c'est-à-dire la fin du fichier, pour vous assurer que le compilateur continue à lire le fichier si la fin n'est pas atteinte.
  15. Utilisez une instruction break pour arrêter la lecture du fichier une fois la fin atteinte.
  16. Afficher le contenu de la variable ch sur la console.
  17. Fin du corps while.
  18. Fin du corps de l'instruction else.
  19. Appelez la fonction close() pour fermer le fichier.
  20. Le programme doit renvoyer une valeur en cas de réussite.
  21. Fin du corps de la fonction main().

Résumé :


Langue C

  1. Gestion des fichiers C
  2. Comment initialiser la RAM à partir d'un fichier à l'aide de TEXTIO
  3. Gestion des exceptions C++ :essayez, attrapez, lancez Exemple
  4. Comment écrire des commentaires en programmation C
  5. Java BufferedReader :comment lire un fichier en Java avec un exemple
  6. C - Fichiers d'en-tête
  7. Fichiers et flux C++
  8. Gestion des signaux C++
  9. Python - Fichiers E/S