字符串流stringstream(头文件sstream)
今天看到一样很有趣的东西,可以用于各种类型的转换。其实一个文本可以看作一个长长的字符串,整数啊浮点数的都是字符串,于是在字符串流里面就可以很方便地玩转各种类型,比如说:
1 #include<iostream> 2 #include<sstream> 3 using namespace std; 4 5 int main() 6 { 7 double a,b; 8 istringstream is("12.3445 2.3"); 9 is>>a>>b; 10 cout<<"a = "<<a<<endl; 11 cout<<"b = "<<b<<endl; 12 return 0; 13 }
这样就是把字符串转换成了浮点数。
istringstream is("12.345 2.3"); 会通过字符串流is将12.345和2.3放到字符串缓冲区里面,
is>>a>>b; 则会将字符串缓冲区里面的12.345复制到a,然后将2.3复制到b,所以最后输出: