stringstream
样例1:
#include <iostream>
#include <string.h>
#include <sstream>
using namespace std;
int main()
{
string s;
getline(cin, s);
stringstream ssin(s);//定义字符串流ssin
//把字符串string用ssin重新初始化(用法类似cin)
//即可以从字符串中读入任意所需要格式的信息(ssin也可以换成其他名字)
//只要对应相应变量即可,例如下面定义的string str
int a;
while(ssin >> a) cout << a << endl;
return 0;
}
输入:1 23 3
输出:
1
23
3
样例2:
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string s;
getline(cin, s);
stringstream ssin(s);
int a, b;
double c;
string str;
ssin >> a >> str >> b >> c;
cout << a << endl << str << endl << b << endl << c << endl;
return 0;
}
输入:123 yy 456 3.14
输出:
123
yy
456
3.14
sscanf
样例1:
#include <cstdio>
int main()
{
char s [1000];
fgets(s, 1000, stdin);
int a;
sscanf(s, "%d", &a);
printf("%d\n", a);
sscanf(s, "%d", &a);
printf("%d\n", a);
return 0;
}
输入:1 23 3
输出:
1
1
样例2:
#include <cstdio>
int main()
{
char s[1000];
fgets(s, 1000, stdin);
int a, b;
char str[1000];
double c;
sscanf(s, "%d%s%d%lf", &a, str, &b, &c);
printf("%d\n%s\n%d\n%lf\n", a, str, b, c);
return 0;
}
输入:123 yy 456 3.14
输出:
123
yy
456
3.140000