1、使用find函数
void spit(const string &s, vector<string> &out, const string &delimiters ="")
{
auto pre_pos = s.find_first_not_of(delimeters, 0);
auto pos = s.find_first_of(delimeters, pre_pos );
while(pre_pos != string::npos || pos != string::npos) {
out.push_back(s.substr(pre_pos, pos - pre_pos));
pre_pos = s.find_first_not_of(delimeters, pos);
pos = s.find_first_of(delimeters, pre_pos );
}
}
2、使用istringstream
void split(const string s, vector<string>& out, const char delimiters = ' ')
{
istringstream iss(s);
string temp;
while (getline(iss,temp,delim)){
out.emplace_back(move(temp));
}
}