J'essaie simplement de créer un fichier texte s'il n'existe pas et je n'arrive pas à obtenir fstream
pour le faire.
#include <fstream>
using std::fstream;
int main(int argc, char *argv[]) {
fstream file;
file.open("test.txt");
file << "test";
file.close();
}
Dois-je spécifier quoi que ce soit dans la fonction open()
afin de pouvoir créer le fichier? J'ai lu que vous ne pouvez pas spécifier ios::in
Car cela s'attend à ce qu'un fichier déjà existant soit là, mais je ne sais pas si d'autres paramètres doivent être spécifiés pour un fichier qui n'existe pas déjà.
Vous devez ajouter fstream :: out pour ouvrir une méthode comme celle-ci:
file.open("test.txt",fstream::out);
Plus d'informations sur les drapeaux fstream, consultez ce lien: http://www.cplusplus.com/reference/fstream/fstream/open/
Vous devez ajouter quelques arguments. De plus, l'instanciation et l'ouverture peuvent être mises sur une seule ligne:
fstream file("test.txt", fstream::in | fstream::out | fstream::trunc);
Cela fera:
#include <fstream>
#include <iostream>
using std::fstream;
int main(int argc, char *argv[]) {
fstream file;
file.open("test.txt",std::ios::out);
file << fflush;
file.close();
}