2013-03-30 49 views
5

当我到达myFile中的EOF时,Seekg似乎不起作用。为什么seekg不适用于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

相关问题