ssmint
Messages postés43Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention 5 décembre 2008
-
12 juil. 2007 à 00:11
Servlax
Messages postés14Date d'inscriptionsamedi 11 septembre 2004StatutMembreDernière intervention20 juillet 2007
-
20 juil. 2007 à 23:20
Bonsoir,
mon dernier petit souci en date en matière de C++, est la fonction eof(). Voici le code :
#include
#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 ++