适用于不知道需要输入多少个字符串的情况
stringstream的用法
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
getline(cin,s);//输入整行字符串
stringstream ssin(s);//定义字符串流
string s1;
while(ssin>>s1) //从前面的整行字符串中读出每段字符串
cout<<s1<<endl;//输出每段字符串
return 0;
}
sscanf的用法
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[1000];
cin.getline(a,1000);//输入整行字符串
int x,y;
char s1[1000],s2[1000],s3[1000],s4[1000];
double z;
sscanf(a,"%d %s %d %lf",&x,s2,&y,&z);//从前面的整行字符串中读出每段字符串(可以转化为不同类型)
printf("%d\n%s\n%d\n%lf",x,s2,y,z);//输出每段字符串,或者是其他类型的数据
//也可以是相同类型,比如都是字符串(原字符串以空格隔开)
//sscanf(a,"%s %s %s %s",s1,s2,s3,s4);>
//printf("%s\n%s\n%s\n%s",s1,s2,s3,s4);/>
return 0;
}