$StringStream$的瞎写……

\(StringStream\)真是个好东西\(QwQ\)

的帮助下,明白了这到底是个神马东西。

这玩意儿主要用来对付毒瘤输入。

举个栗子:

\(UVA1222\)

3 2
Aland 10
Boland 20 Aland
Coland 15
#

对,没错,你没看错,就是他,\(Woc\)这是什么毒瘤,\(string\)\(int\)

不过用可爱的\(StringStream\)就可以解决这样的问题。

#include<bits/stdc++.h>
using namespace std;
int main(){
	stringstream sp;
	string s;
	getline(cin,s);
	int T;
	double F;
	bool c;
	string a;
	sp<<s;
	sp>>T>>F>>c>>a;
	cout<<T<<' '<<F<<' '<<c<<' '<<a;
}

实际上,\(StringStream\)可以说和\(cin\)原理差不多,但他可以将任意类型与\(string\)相互转换。

像上面的例子:将完整的一行读入一个临时\(string\)之后可以用\(StringStream\)将他们分开

\(StringStream\)会自动处理,将相应的类型给对应的变量。

posted @ 2019-06-10 08:21  风骨傲天  阅读(294)  评论(0)    收藏  举报