C ++: Как перебирать текст в std :: строка за строкой с помощью STL?

У меня есть текст в объекте 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;
}

Я думал, что уже пробовал это. Получил ошибку компилятора и выбросил. Быстро!

17
задан Jan Deinhard 13 October 2012 в 20:24
поделиться