迭代字符串中的行?

Ale*_*ter 1 c++ string boost

我想做这样的事情:

BOOST_FOREACH (const std::string& line, allLinesOf(someFileLoadedIntoString))
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何实现allLinesOf函数?谢谢!

更新:谢谢你的答案.抱歉,但我忘了提一个重要细节:在我的情况下,换行符是\ r \n.

Pup*_*ppy 5

你可以使用std :: getline.

std::string line;
while(std::getline(file, line)) {
    // Ohai!
}
Run Code Online (Sandbox Code Playgroud)

  • I/O Streams库执行换行转换,因此当您在文本模式下打开文件流时,它会自动将平台行结尾(可能是`\ r \n \n或其他内容)转换为C++行结尾(`\N`). (2认同)