सिर्फ इसलिए कि हम EOF तक नहीं पहुंचे हैं, इसका मतलब यह नहीं है कि अगला रीड सफल होगा।
मान लीजिए आपके पास एक फाइल है जिसे आप C++ में फाइल स्ट्रीम का उपयोग करके पढ़ रहे हैं। जब आप फाइल को पढ़ने के लिए लूप लिखते हैं, यदि आप stream.eof() चेक कर रहे हैं, तो आप मूल रूप से जांच रहे हैं कि क्या फाइल पहले ही EOF तक पहुंच चुकी है।
तो आप कोड इस तरह लिखेंगे –
उदाहरण
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream myFile("myfile.txt");
string x;
while(!myFile.eof()) {
myFile >> x;
// फिर से जांचना होगा कि x वैध है या EOF
if(x) {
// x के साथ कुछ करें
}
}
}
उदाहरण
जबकि जब आप स्ट्रीम को सीधे लूप में उपयोग करते हैं, तो आपको कंडीशन दो बार चेक नहीं करनी पड़ती –
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream myFile("myfile.txt");
string x;
while(myFile >> x) {
// x के साथ कुछ करें
// कोई चेक जरूरी नहीं!
}
}