Possible en double:
Why is iostream::eof inside a loop condition considered wrong?Test stream.good() ou stream.eof() lit la dernière ligne deux fois
je le morceau de code suivant:
ifstream f("x.txt");
string line;
while (f.good()) {
getline(f, line);
// Use line here.
}
Mais ceci lit deux fois la dernière ligne. Pourquoi cela arrive-t-il et comment puis-je le réparer?
Quelque chose se passe très similaire avec:
ifstream f("x.txt");
string line;
while (!f.eof()) {
getline(f, line);
// Use line here.
}
Comment est-ce un doublon? L'autre réponse ne mentionne même pas la boucle avec la fonction good() comme test. –