Tengo un texto en un objeto std :: string. El texto consiste en varias líneas. Quiero iterar sobre el texto línea por línea usando STL (o Boost). Todas las soluciones que se me ocurren parecen estar lejos de ser elegantes. Mi mejor enfoque es dividir el texto en los saltos de línea. ¿Hay una solución más elegante?C++: ¿Cómo iterar sobre un texto en una std :: string línea por línea con STL?
ACTUALIZACIÓN: Esto es lo que estaba buscando:
std::string input;
// get input ...
std::istringstream stream(input);
std::string line;
while (std::getline(stream, line)) {
std::cout << line << std::endl;
}
pensé que ya lo probé. Obtuve un error de compilación y lo arrojé. Para rápido!
¿Está buscando "más elegante" como el foreach de C# "foreach (línea de cadena en líneas)"? ¿Qué has intentado exactamente? C++ podría sentirse "poco elegante" si está acostumbrado a los lenguajes dinámicos o de nivel superior, pero en C++ "elegante" nunca es solo para usted, por lo general tiene que programar la elegancia usted mismo. – Crisfole
Puede que no sea * bastante * un duplicado exacto, pero es posible que también desee consultar: http://stackoverflow.com/questions/1567082/how-do-i-iterate-over-cin-line-by-line -in-c –
Sería mejor responder a su propia pregunta en lugar de actualizarla. La actualización puede ser confusa para el futuro lector ... – Wolf