利用find()+substr()封装‘split’
#include<vector>
#include<string>
vector<string> split(const string &str, const string &splitSign){//假设标志字符为空格
vector<string> res;
if(str.empty())
return res;
string str1 = str + splitSign;//如果末尾没有切割字符,在末尾加入切割标志,方便截取最后一段,有则无需此步,但最好使用新的变量接参数,否则传进来的是const不好进行后续操作
size_t pos = str1.find(splitSign); // 找到空格第一次出现的位置
while(pos != str1.npos){
string temp = str1.substr(0, pos);
res.push_back(temp);
str1 = str1.substr(pos+1, str1.size()); //去掉第一段保留剩下字符串继续切割
pos = str1.find(splitSign);
}
return res;
}