He estado tratando de dividir una cadena por líneas dobles ("\n\n"
).C++ cadena dividida por doble línea nueva
input_string = "firstline\nsecondline\n\nthirdline\nfourthline";
size_t current;
size_t next = std::string::npos;
do {
current = next + 1;
next = input_string.find_first_of("\n\n", current);
cout << "[" << input_string.substr(current, next - current) << "]" << endl;
} while (next != std::string::npos);
me da la salida
[firstline]
[secondline]
[]
[thirdline]
[fourthline]
que obviamente no es lo que quería. Necesito conseguir algo así como
[first line
second line]
[third line
fourthline]
también he intentado boost::split
pero me da el mismo resultado. ¿Qué me estoy perdiendo?
inc aceptado respuesta en 8 min. muchas gracias – none