#include <vector>
#include <string>
#include <iostream>
using namespace std;
vector<string> StringSplitBySeparator(std::string str, std::string sep)
{
vector<string> ouputStrArray;
size_t n = 0, nOld=0;
while (n != std::string::npos)
{
n = str.find(sep,n);
if (n != std::string::npos)
{
if (n != nOld)
{
ouputStrArray.push_back(str.substr(nOld, n - nOld));
n += sep.length();
nOld = n;
}
else
{
ouputStrArray.push_back("");
n += sep.length();
nOld = n;
}
}
}
ouputStrArray.push_back(str.substr(nOld, str.length() - nOld));
return ouputStrArray;
}
void main()
{
string str="abcd,efg,hij,klmn";
vector<string> out=StringSplitBySeparator(str, ",");
vector<string>::iterator it=out.begin();
for (;it!=out.end();it++)
{
cout<<*it<<endl;
}
}
/*
abcd
efg
hij
klmn
Press any key to continue
*/