码迷,mamicode.com
首页 > 其他好文 > 详细

安利一下stringstream

时间:2019-07-09 00:17:01      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:problem   清理   字符   方便   return   clu   http   用法   include   

stringstream能干什么

处理毒瘤输入数据

比如这个题
在输入的时候有很多问题,如果用scanf输入char型字符串,那么不好用map判断,并且读入整行判断换行会很麻烦
如果选择用string型数组处理数据,除了用getline,不然很难判断换行
然而stringstream可以完美的解决这个问题

//这是上面介绍的第一个用法  ,PS: 输出放下面了(雾
//解释一下——
//stringstream是一个输入输出流,它可以模拟cin和cout的操作
//你可以在流里面存东西,也可以从里面把东西拿出来
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    stringstream ss;
    string a;
    string b = "China";
    string c;
    string d;
    string e;
    //"----------下面是stringstream的各种操作-----------"
    
    // 1.存入
     ss << b;//给 ss 流传东西 
     
     ss >> a;//把 ss 流的东西传出去 
     cout << "a: " << a << endl;
     
     ss >> c;
     cout << "c: " << c << endl;//会发现c没有输出任何东西,因为 ss 流里面的字符串已经传给 a 了
      
    //另外的存入方法 
     ss.clear();//用完必须清理一下 
     ss.str("heanda");//括号里面也可以是string型变量 
     ss >> d;
     cout<< "d: " << d << endl;
     
     ss.clear();
     
     //接下来就看看stringstream存入输出的用法 
     ss.str("had is chinese");
     while(ss >> e) cout << "e: " << e << endl;//它会把空格作为一个断点,一个一个传出去,所以可以一个一个取
     
    return 0;

        /*
        输出:
        a: China
        c: 
        d: heanda
        e: had
        e: is
        e: chinese
        */
}

很方便的类型转换

除了处理毒瘤数据,它还可以进行一些类型转换
1.数字型 ——> string字符串
2.string字符 ——> 数字型

安利一下stringstream

标签:problem   清理   字符   方便   return   clu   http   用法   include   

原文地址:https://www.cnblogs.com/heanda/p/11154769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!