#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cstddef>
int main()
{
std::string myString = "This is \n a test. Let's go on. \n Yeah.";
std::vector<std::string> vec;
std::size_t start_pos = 0;
std::size_t end_pos = 0;
while ((end_pos = myString.find("\n", end_pos)) != std::string::npos)
{
vec.emplace_back(myString.substr(start_pos, end_pos - start_pos));
start_pos = end_pos + 1;
end_pos += 2;
}
vec.emplace_back(myString.substr(start_pos, myString.size() - start_pos)); // last substring
for(const auto& it: vec) std::cout << it << "\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y3N0ZGRlZj4KCmludCBtYWluKCkKewoJc3RkOjpzdHJpbmcgbXlTdHJpbmcgPSAiVGhpcyBpcyBcbiBhIHRlc3QuIExldCdzIGdvIG9uLiBcbiBZZWFoLiI7CglzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gdmVjOwoKCXN0ZDo6c2l6ZV90IHN0YXJ0X3BvcyA9IDA7CglzdGQ6OnNpemVfdCBlbmRfcG9zID0gMDsKCXdoaWxlICgoZW5kX3BvcyA9IG15U3RyaW5nLmZpbmQoIlxuIiwgZW5kX3BvcykpICE9IHN0ZDo6c3RyaW5nOjpucG9zKQoJewoJCXZlYy5lbXBsYWNlX2JhY2sobXlTdHJpbmcuc3Vic3RyKHN0YXJ0X3BvcywgZW5kX3BvcyAtIHN0YXJ0X3BvcykpOwoJCXN0YXJ0X3BvcyA9IGVuZF9wb3MgKyAxOwoJCWVuZF9wb3MgKz0gMjsKCX0KCXZlYy5lbXBsYWNlX2JhY2sobXlTdHJpbmcuc3Vic3RyKHN0YXJ0X3BvcywgbXlTdHJpbmcuc2l6ZSgpIC0gc3RhcnRfcG9zKSk7IC8vIGxhc3Qgc3Vic3RyaW5nCgoJZm9yKGNvbnN0IGF1dG8mIGl0OiB2ZWMpIHN0ZDo6Y291dCA8PCBpdCA8PCAiXG4iOwp9Cg==