c++ split string
//
list<string> Split(string s, string delimiter)
{
list<string> result;
unsigned int beg = 0, pos = 0;
while((pos=s.find(delimiter, beg)) != string::npos)
{
result.push_back(s.substr(beg, pos-beg));
beg = pos + delimiter.length();
}
if(beg < s.length())
result.push_back(s.substr(beg, s.length()-beg));
return result;
}