#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
*/