2012-10-20 37 views

回答

6

没有必要使用计数器。这相当于

std::string line; 
while(getline(ifs, line)) 
{ 
} 

有一些方法可以将输入迭代器移回到文件的开头。像这样的:ifs.seekg(0, std::ios::beg);应该做的伎俩。

3

for循环相当于:

{ 
    std::string line; 
    while (std::getline(ifs, line)) { 
    } 
} 

换句话说: “保持迭代只要getline回报true”。

+0

如何我回去线0? – rajat

+0

@rajat [Seek](http://msdn.microsoft.com/en-us/library/y2d6fx99(v = vs.110).aspx)通过该文件。 –

+0

我发现一个更简单的方法,我只是关闭并重新打开该文件。 > ifs.close(); ifs.open(filename); – rajat

1

并重置计数器行号0(即以流的开始),你应该使用

ifs.seekg (0, ios::beg);