Comment ajouter du texte à un fichier en C++

Jinku Hu 12 octobre 2023
  1. Utilisez les méthodes std::ofstream et open() pour ajouter du texte à un fichier
  2. Utilisez std::fstream et open() Méthode pour ajouter du texte à un fichier
  3. Utilisez la méthode write() avec std::fstream et open() pour ajouter du texte à un fichier
Comment ajouter du texte à un fichier en C++

Cet article présente plusieurs méthodes C++ pour ajouter du texte à un fichier.

Utilisez les méthodes std::ofstream et open() pour ajouter du texte à un fichier

Dans un premier temps, nous devrions créer un objet ofstream et ensuite appeler sa fonction membre open. Cette méthode prend un nom de fichier comme objet string pour le premier argument. Comme deuxième argument, nous pouvons passer en mode ouvert en spécifiant des valeurs constantes prédéfinies, comme indiqué dans le tableau suivant:

Constante Explication
std::ios_base::app chercher la fin du flux avant chaque écriture
std::ios_base::binary ouvert en mode binaire
std::ios_base::in ouvert à la lecture
std::ios_base::out ouvert à l’écriture
std::ios_base::trunc jeter le contenu du flux lors de l’ouverture
std::ios_base::ate chercher à atteindre la fin du flux immédiatement après l’ouverture

Notez que l’exemple de code suivant crée un fichier nommé tmp.txt dans le répertoire de travail actuel. Vous pouvez passer un chemin complet d’un fichier à créer ou à ajouter dans un emplacement différent.

#include <fstream>
#include <iostream>

using std::cout;
using std::endl;
using std::ofstream;
using std::string;

int main() {
  string filename("tmp.txt");
  ofstream file_out;

  file_out.open(filename, std::ios_base::app);
  file_out << "Some random text to append." << endl;
  cout << "Done !" << endl;

  return EXIT_SUCCESS;
}

Production:

Done !

Utilisez std::fstream et open() Méthode pour ajouter du texte à un fichier

Nous pouvons également mettre en œuvre l’exemple précédent en utilisant le fstream qui offre une option permettant d’ouvrir un fichier donné pour le lire et l’écrire/ajouter. Cette méthode est un moyen universel de manipuler les flux de fichiers. Notez que nous avons également ajouté une validation si l’instruction avec l’appel is_open, qui vérifie si le flux est associé au fichier spécifié.

#include <fstream>
#include <iostream>

using std::cout;
using std::endl;
using std::fstream;
using std::string;

int main() {
  string filename("tmp.txt");
  fstream file;

  file.open(filename, std::ios_base::app | std::ios_base::in);
  if (file.is_open()) file << "Some random text to append." << endl;
  cout << "Done !" << endl;

  return EXIT_SUCCESS;
}

Utilisez la méthode write() avec std::fstream et open() pour ajouter du texte à un fichier

Une autre version pour résoudre ce problème consiste à appeler la fonction membre write explicitement à partir de l’objet fstream plutôt que d’utiliser l’opérateur << comme nous l’avons fait dans les exemples précédents. Cette méthode devrait être plus rapide pour la plupart des scénarios, mais il faut toujours profiler votre code et comparer les temps si vous avez des exigences strictes en matière de performances.

#include <fstream>
#include <iostream>

using std::cout;
using std::endl;
using std::fstream;
using std::string;

int main() {
  string text("Some huge text to be appended");
  string filename("tmp.txt");
  fstream file;

  file.open(filename, std::ios_base::app);
  if (file.is_open()) file.write(text.data(), text.size());
  cout << "Done !" << endl;

  return EXIT_SUCCESS;
}
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - C++ File