Since string's split function is not naturally provided in C++, we must implement it by ourselves. Here is a simple implementation of split based on strtok.
vector<string> split(const string &str, const string &sep)
{
char *cstr = new char[str.size()+1];
char *csep = new char[sep.size()+1];
strcpy(cstr, str.c_str());
strcpy(csep, sep.c_str());
char *csubstr = strtok(cstr, csep);
vector<string> res;
while (csubstr != NULL)
{
res.push_back(csubstr);
csubstr = strtok(NULL, csep);
}
delete[] cstr;
delete[] csep;
return res;
}
To successfully use it, please include following headers:
#include <vector> // necessary for split, vector
#include <string> // necessary for split, string
#include <cstring> // necessary for split, strcpy, strtok