लूप में iostream::eof को गलत माना जाता है क्योंकि हम EOF तक नहीं पहुंचे हैं। तो इसका मतलब यह नहीं है कि अगला पठन सफल होगा।
जब हम C++ में फ़ाइल स्ट्रीम का उपयोग करके किसी फ़ाइल को पढ़ना चाहते हैं। और जब हम फ़ाइल में लिखने के लिए लूप का उपयोग करते हैं, यदि हम स्ट्रीम.ईओफ़ () का उपयोग करके फ़ाइल के अंत की जाँच करते हैं, तो हम वास्तव में जाँच कर रहे हैं कि फ़ाइल अंत तक पहुँच गई है या नहीं।
उदाहरण कोड
#include<iostream> #include<fstream> using namespace std; int main() { ifstream myFile("myfile.txt"); string x; while(!myFile.eof()) { myFile >> x; // Need to check again if x is valid or eof if(x) { // Do something with x } } }
जब हम सीधे लूप में स्ट्रीम का उपयोग कर रहे होते हैं, तो हम फिर से स्थिति की जांच नहीं करेंगे।
उदाहरण कोड
#include<iostream> #include<fstream> using namespace std; int main() { ifstream myFile("myfile.txt"); string x; while(myFile >> x) { // Do something with x // No checks needed! } }