您的位置:首页 > 其它

<@乌龟:>stringstream使用总结

2009-07-29 17:51 579 查看
今天看了看c++cookbook,看到了一个很有用的东西,stringstream,可以很方便的完成连接字符串,进制转换,格式控制等工作.位于sstream.h中

[code]#include<iostream>


#include<iomanip>


#include<string>


#include<sstream>




usingnamespacestd;




intmain()


{


stringstreamss;


ss<<"Thereare"<<9<<"applesinmycart.";


cout<<ss.str()<<endl;




ss.str("");


ss<<showbase<<hex<<16;


cout<<ss.str()<<endl;




ss.str("");


ss<<setprecision(4)<<3.1415927;


cout<<ss.str()<<endl;




cin>>ss.str();


}

[/code]

使用初始化:

stringstream.str("..")

其他使用的方式就和输入输出流几乎一样了,使用iomanip里面的控制字可以使得输出不同的格式.使用ss.str()可以得到相应的字符串.

比如

ss<<showbase<<hex<<16;


就表示

1)输出进制的符号(此处为0x)

2)输出16进制(hex)

另一个示例:


[code]doubleSciToDub(conststring&str)


{


stringstreamss(str);


doubled=0;


ss>>d;




if(ss.fail())


{


//addcodetosolvetheexception


}




returnd;


}

[/code]

此处调用stringstream>>double的方法,可以完成将科学计数法表示的string转换到double中,而且通过查看stringstream.fail()可以知道是否转换成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: