<sstream>包下主要包含三个类型:istringstream、ostringstream、sstringstream,sstringstream既是输入流又是输出流,为什么他这么吊?大概是因为同时重写了<<>>符的原因吧!
一、使用sstream进行类型转化
stringstream ss(""); int a ,b; ss<<"12323";//把程序变量输出到流 ss>>a;//把流中的数据输入到变量中 cout<<"a:"<<a<<endl;//12323 ss<<false; ss>>b; cout<<"b:"<<b<<endl;//0 ss.clear();//输出到不同类型前,需要clear内部标记 string name("aaaa"); char cname[5]; ss<<name; ss>>cname; cout<<"cname:"<<cname<<endl;//aaaa
二、使用istringstream把流中数据输入到变量
istringstream iss(""); string data = "我要准备输入了"; iss.str(data); for(int i =0;i<data.size();i++){ char a; iss>>a; cout<<a; }//我要准备输入了
三、使用ostringstream把变量输出到流中
ostringstream oss(""); string data ="22222"; oss.str(data); for(int i =0;i<data.size();i++){ int a = 1; oss<<a; } cout<<oss.str();//11111
啊哈,这大概就是基本使用啦