#include <iostream> #include <string> #include <vector> using namespace std; void str_split(const string& input, const string& delimiters, vector<string>& results) { string::size_type pos; size_t size=input.size(); for(size_t i=0;i<size;++i) { pos=input.find(delimiters,i); //从第i个位置查找delimiters分割符第一次出现的位置; if(pos<size) { string s=input.substr(i,pos-i);//把从i开始,长度为pos-i的元素拷贝给s; results.push_back(s); i=pos; } } } int main() { string str; cout<<"Please input str:"<<endl; getline(cin,str); string delimiters; cout<<"Please input pattern"<<endl; getline(cin,delimiters); vector<string> results; str_split(str,delimiters,results); cout<<"The result:"<<endl; for(size_t i=0;i<results.size();++i) { cout<<results[i]<<endl; } cin.get(); return 0; }