【发布时间】:2011-05-10 19:50:00
【问题描述】:
我在 std::string 对象中有一个文本。文本由几行组成。我想使用 STL(或 Boost)逐行迭代文本。我提出的所有解决方案似乎都远非优雅。我最好的方法是在换行符处拆分文本。有没有更优雅的解决方案?
更新:这就是我想要的:
std::string input;
// get input ...
std::istringstream stream(input);
std::string line;
while (std::getline(stream, line)) {
std::cout << line << std::endl;
}
【问题讨论】:
-
您是否在寻找像 C# 的 foreach “foreach(string line in lines)”这样的“更优雅”?你到底试过什么。如果您习惯于动态或更高级别的语言,C++ 可能会觉得“不优雅”,但在 C++ 中,“优雅”绝不会直接交给您,您通常必须自己编写优雅的程序。
-
它可能不是相当完全相同的副本,但您可能还想看看:stackoverflow.com/questions/1567082/…
-
最好回答你自己的问题而不是更新它。更新可能会让未来的读者感到困惑......
标签: c++ string boost stl iterator