1.find
size_t find (char c, size_t pos = 0) const;
When pos is specified, the search only includes characters at or after position pos, ignoring any possible occurrences that include characters before pos.
如果pos被指定,那搜索pos后的字符串
2.substr
string substr (size_t pos = 0, size_t len = npos) const;
The substring is the portion of the object that starts at character position pos and spans len characters (or until the end of the string, whichever comes first).
len是步长
#include <iostream>
#include<vector>
#include<string>
using namespace std;
void splitString(const string str,vector<string> &v,char c){
int pos1 = str.find(c);
int pos2 = 0;
while(pos1!=std::string::npos){
cout<<"splitString:"<<str.substr(pos2,pos1-pos2).c_str()<<endl;
v.push_back(str.substr(pos2,pos1-pos2));
pos2=pos1+1;
cout<<pos1<<endl;
cout<<pos2<<endl;
cout<<str.substr(pos2)<<endl;
pos1=str.find(c,pos2);
}
v.push_back(str.substr(pos2));
}
int main() {
string str = "0.12.03.225.89.7";
vector<string> v;
splitString(str,v,'.');
cout<<"-----------------"<<endl;
// your code goes here
for(string element:v){
cout<<element<<endl;
}
return 0;
}
ideone运行结果