J'ai réussi à écrire dans un fichier texte, mais quelque chose s'est mal passé avec mon fichier lu. Voici mon code:Lire et écrire un fichier en C++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line, s;
ofstream out_file;
out_file.open("hello.txt");
for(int count = 0; count< 5; count++)
{
out_file << "Hello, World" << endl;
}
out_file.close();
ifstream in_file;
in_file.open("hello.txt");
if (in_file.fail())
{
cout << "File opening error. " << endl;
}
else
{
while(getline(in_file,line))
{
in_file >> s;
cout << s << endl;
}
}
in_file.close();
system("Pause");
return 0;
}
J'ai réussi à écrire 5 fois "Hello, World" dans un fichier texte. Cependant, lorsque le programme s'exécute, il affiche seulement "Bonjour", pour 4 fois et la 5ème ligne avec "Monde". De mon code, n'est-ce pas censé imprimer "Hello, World" pour 5 fois? Quelqu'un peut-il s'il vous plaît indiquer où est l'erreur?
's fichier_entree >>;' arrêts dans l'espace. –
Alors comment dois-je le réparer? Il y a une erreur si je mets getline (in_file, s) à –
'in_file >> s;' devrait être 'line >> s;' bien que cela vous donnerait un bogue différent. –