web-dev-qa-db-fra.com

Créer des fichiers en C ++

Je veux créer un fichier en C++, mais je ne sais pas comment le faire. Par exemple, je veux créer un fichier texte nommé Hello.txt.

Quelqu'un peut-il m'aider?

59
Uffo

Une façon de faire est de créer une instance de la classe ofstream et de l’utiliser pour écrire dans votre fichier. Voici un lien vers un site Web contenant un exemple de code et des informations supplémentaires sur les outils standard disponibles avec la plupart des implémentations de C++:

ofstream reference

Pour être complet, voici un exemple de code:

// using ofstream constructors.
#include <iostream>
#include <fstream>  

std::ofstream outfile ("test.txt");

outfile << "my text here!" << std::endl;

outfile.close();

Vous voulez utiliser std :: endl pour terminer vos lignes. Une alternative consiste à utiliser le caractère '\ n'. Ces deux choses sont différentes, std :: endl vide le tampon et écrit votre sortie immédiatement tandis que '\ n' permet au fichier sortant de mettre toute votre sortie dans un tampon et éventuellement de l'écrire plus tard.

97
James Thompson

Faites cela avec un flux de fichiers. Lorsqu'un std::ofstream est fermé, le fichier est créé. Personnellement, j'aime bien le code suivant, car l'OP ne demande qu'à créer un fichier et non à l'écrire:

#include <fstream>

int main()
{
    std::ofstream file { "Hello.txt" };
    // Hello.txt has been created here
}

La variable temporaire file est détruite juste après sa création. Le flux est donc fermé et le fichier est créé.

16
French Boiethios
#include <iostream>
#include <fstream>

int main() {
  std::ofstream o("Hello.txt");

  o << "Hello, World\n" << std::endl;

  return 0;
}
11
Sean Bright

Voici ma solution:

#include <fstream>

int main()
{
    std::ofstream ("Hello.txt");
    return 0;
}

Le fichier (Hello.txt) est créé même sans nom ofstream, et c'est la différence avec la réponse de M. Boiethios.

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

string filename = "/tmp/filename.txt";

int main() {
  std::ofstream o(filename.c_str());

  o << "Hello, World\n" << std::endl;

  return 0;
}

C'est ce que je devais faire pour utiliser une variable pour le nom de fichier au lieu d'une chaîne normale.

2
Angelo