संभव डुप्लिकेट:
Why is iostream::eof inside a loop condition considered wrong?परीक्षण stream.good() या stream.eof() अंतिम पंक्ति पढ़ता दो बार
मैं कोड का निम्न भाग है:
ifstream f("x.txt");
string line;
while (f.good()) {
getline(f, line);
// Use line here.
}
लेकिन यह अंतिम पंक्ति को दो बार पढ़ता है। ऐसा क्यों होता है और मैं इसे कैसे ठीक करूं? बहुत समान
कुछ होता है के साथ:
ifstream f("x.txt");
string line;
while (!f.eof()) {
getline(f, line);
// Use line here.
}
यह एक डुप्लिकेट कैसा है? दूसरे उत्तर में परीक्षण के रूप में अच्छे() फ़ंक्शन के साथ लूपिंग का उल्लेख भी नहीं किया गया है। –