2013-03-30 10 views
5

Seekg काम नहीं कर रहा है, जब मैं अपने फ़ाइल में ईओएफ तक पहुंचता हूं।क्यों getg getline के साथ काम नहीं करता है?

ifstream myFile("/path/file"); 
for(int i; i < 10; i++){ 
    myFile.seekg(0);//reset position in myFile 
    while(getline(myFile, line)){ 
     doSomething 
    } 
} 

तो, अब मैं इनपुट धारा हर पाश खोलने हूँ:

for(int i; i < 10; i++){ 
    ifstream myFile("/path/file");//reset position in myFile 
    while(getline(myFile, line)){ 
     doSomething 
    } 
} 

लेकिन मैं नहीं बल्कि 0. स्थिति करने की कोशिश करेगी कि मैं कैसे प्राप्त कर सकते हैं?

+0

[seekg() फ़ंक्शन की संभावित डुप्लिकेट विफल हो जाती है] (http://stackoverflow.com/questions/11264764/seekg-function-fails) – amo

उत्तर

10

सुनिश्चित करें कि आप myFile.seekg() को कॉल करने से पहले त्रुटि झंडे स्पष्ट करें:

myFile.clear(); 

EOF ध्वज के बाद बेन सेट है, आप कुछ भी निकालने में सक्षम नहीं होगा। आपको फिर से निकालने में सक्षम होने के लिए उन झंडे को साफ़ करना होगा।

+0

यह काम कर रहा है, धन्यवाद। – rluks

संबंधित मुद्दे