Bonjour,
Voici mon problème : J'arrive à ouvrir et afficher le contenu d'un
fichier texte, mais sa réouverture ne se passe pas correctement.
D'où vient le problème ? Comment le corriger ?
Voici le code source :
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
string NomFichier("");
cout << "Entrez le nom du fichier : ";
cin >> NomFichier;
ifstream f(NomFichier.c_str());
if(f) //existe déjà?
{
cout << "*** Contenu actuel du fichier : ***\n";
char ch;
while(f.get(ch))
cout << ch;
cout << "*** Fin du fichier " << NomFichier << ". ***\n";
}
f.close();
f.open(NomFichier.c_str());
if(!f.good())
{
cout << "Ouverture impossible de " << NomFichier
<< " en lecture.\n";
system("PAUSE");
return(1);
}
else
{
cout << "\nContenu du fichier :\n";
char ch;
while(f.get(ch))
cout << ch;
cout << "*** Fin du fichier " << NomFichier << ". ****\n";
f.close();
}
system("PAUSE");
return EXIT_SUCCESS;
}
Et voici la sortie du programme :
Entrez le nom du fichier : fText.txt
*** Contenu actuel du fichier : ***
1ere ligne,
2nd ligne.
*** Fin du fichier fText.txt. ***
Ouverture impossible de fText.txt en lecture.
Appuyez sur une touche pour continuer...
Je pense que le problème vient de la ligne
f.open(NomFichier.c_str());
mais je ne le vois pas.