我正在尝试做这样的事情:
BOOST_FOREACH (const std::string& line, allLinesOf(someFileLoadedIntoString))
{
...
}
我想知道如何实现allLinesOf函数?谢谢!
更新:感谢您的回答。抱歉,但我忘了提一个重要的细节:在我的情况下,换行符是\ r \ n。
答案 0 :(得分:5)
您可以使用std::getline。
std::string line;
while(std::getline(file, line)) {
// Ohai!
}
答案 1 :(得分:2)
嗯,你可以为std :: string编写一个自定义迭代器,它将遍历由换行符分隔的字符串段,并将一对std :: this这样的迭代器传递给BOOST_FOREACH
答案 2 :(得分:1)
您可以使用boost::tokenizer和\n
令牌来迭代线。