c++学习笔记:使用锋利的sstringstream完成类型转换

<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

啊哈,这大概就是基本使用啦

 

posted @ 2017-08-04 20:07  钢面公爵  阅读(300)  评论(0编辑  收藏  举报