Bonsoir,
mon dernier petit souci en date en matière de C++, est la fonction eof(). Voici le code :
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
fstream file("test.txt", ios::in);
if (!file.is_open())
{
cout<<"Pas de fichier!!!"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
while (!file.eof())
{
getline (file,line);
cout<<line<<endl;
}
file.seekg(ios::beg);
while (!file.eof()) //egale à 1 alors que seekg à remis le pointeur au début.!?
{
getline (file,line);
cout << line << endl;
}
file.close();
system("PAUSE");
return EXIT_SUCCESS;
}
Ce code est censé afficher 2 fois le contenu du fichier, mais aprés l'avoir afficher une première fois, je fais file.seekg(ios::beg); pour revenir au début du fichier mais la fonction file.eof() renvoie 1 et non zéro
... Je ne suis pourtant pas en fin de fichier... (l'apel de file.tellg() renvoie 0..)
Bref, ce doit être un truc tout con comme souvent.
Merci d'avance ++