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\)会自动处理,将相应的类型给对应的变量。

猜你喜欢

转载自www.cnblogs.com/wo-shi-zhen-de-cai/p/10995784.html