自己忙活了一早上才发现,自己是十分的傻,
#include <iostream>
#include <vector>
using namespace std;
void spliststring(const string& string1,const string& string2,vector<string>& res)
{
if (string1=="")return;
string strings=string1+string2;
size_t pos=strings.find(string2);
cout<<step <<" asds"<<endl;
while (pos!=strings.npos)
{
string sdd = strings.substr(0,pos);
res.push_back(sdd);
strings=strings.substr(pos+step,strings.size());
pos=strings.find(string2);
}
}
主函数:
int main()
{
int num,i;
string a,b,c;
vector<string> sr1;
cin>>num;
for (i = 0; i < num; i++) {
cin>>a>>b>>c;
cout<<a+b+c<<endl;
spliststring(a," ",sr1);
for (int j = 0; j < sr1.size(); ++j) {
cout<<sr1[j]<<endl;
}
}
return 0;
}
输入:
1
123 123 1234 2345
输出:
1231231234
123
我自己郁闷,为什么分割只有出来只有123,原来是cin遇到空格或回车时就会结束。如上面一样,cin可以给多个变量赋值。
发表回复