#include <iostream>
#include <vector>
void split(std::string &str, char delimiter, std::vector<std::string> &out) {
size_t start;
size_t end = 0;
while ((start = str.find_first_not_of(delimiter, end)) != std::string::npos) {
end = str.find(delimiter, start);
out.push_back(str.substr(start, end - start));
}
}
int main() {
std::string str = "C++:is:a:general:purpose:programming:language";
std::vector<std::string> vec;
split(str, ':', vec);
for (auto it: vec) {
std::cout << it << "\n";
}
}
/*
run:
C++
is
a
general
purpose
programming
language
*/