C++没有类似Python的split函数,如何实现分割字符串呢?
//#include<bits/stdc++.h>
#include<iostream>
#include<vector>
using namespace std;
string s;
//s: 原始串 c:分隔符 sp:分割结果
void split(string s, vector<string> &sp, string c){
int pos1, pos2;
pos1 = 0;
pos2 = s.find(c);
while(pos2!=-1){
sp.push_back(s.substr(pos1, pos2-pos1));
pos1 = pos2 + c.size();
pos2 = s.find(c, pos1);
}
if(pos1!=s.size()){
sp.push_back(s.substr(pos1));
}
}
int main()
{
vector<string> v;
s = "4 + 2 * 5 - 7 / 11";
split(s, v, " ");
for(int i=0; i<v.size(); i++){
cout<<v[i];
}
return 0;
}