2012-10-20 36 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);