为啥 seekg 不适用于 getline?
Posted
技术标签:
【中文标题】为啥 seekg 不适用于 getline?【英文标题】:Why seekg does not work with getline?为什么 seekg 不适用于 getline? 【发布时间】:2013-03-21 04:16:36 【问题描述】:当我在 myFile 中到达 EOF 时,Seekg 似乎不起作用。
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。我怎样才能做到这一点?
【问题讨论】:
seekg() function fails 的可能重复项 【参考方案1】:确保在调用myFile.seekg()
之前清除错误标志:
myFile.clear();
设置 EOF 标志后,您将无法提取任何内容。您必须清除这些标志才能再次提取。
【讨论】:
以上是关于为啥 seekg 不适用于 getline?的主要内容,如果未能解决你的问题,请参考以下文章
我的突变适用于 Amplify,但不适用于 Apollo。为啥?
为啥 Laravel 中间件适用于单个路由而不适用于一组路由