stringstream:

头文件:

#include <sstream>

简单整理一下这玩意的作用,主要有三个吧.

  • 类型转化
  • 字符串拼接
  • 字符串整合(这一个用处特别大!!!!!!!)

先插个话,赋值语句:(这是个 流 的东西其实也不能叫赋值语句)

 string  str;
stringstream ss;
str = "123.456789";
ss << str; //和stringstream ss(str); 是一样的

一.类型转化

1.字符串转数字

     double  dVal;
int iVal;
string str;
stringstream ss; // string -> double
str = "123.456789";
ss << str;
ss >> dVal;
cout << "dVal: " << dVal << endl; // string -> int
str = "";
ss.clear();//一定别忘记清空!
ss << str;
ss >> iVal;
cout << "iVal: " << iVal << endl; return ;

2.数字转字符串

 void i2s(int num,string &str){
stringstream ss;
ss<<num;
ss>>str;
}

注意一个问题,要进行多次转换的时候,要对原来那个进行清空

.clear()  或者 .str(" ");

(刚刚have a try,发现还是第一个比较好用)

二.字符串拼接(其实这个功能,放string里+一下就行了)

 1 int main()
2 {
3 stringstream sstream;
4
5 // 将多个字符串放入 sstream 中
6 sstream << "first" << " " << "string,";
7 sstream << " second string";
8 cout << "strResult is: " << sstream.str() << endl;
9
10 // 清空 sstream
11 sstream.str("");
12 sstream << "third string";
13 cout << "After clear, strResult is: " << sstream.str() << endl;

//sstream.str()可以导出在sstream中的所有东西

三.分割
这里不得不提一个叫getline 的东西,这个东西默认是不会读到空格停止的.看这个吧:https://www.cnblogs.com/zhmlzhml/p/12669967.html
getline不会因空格而停止(一读读一行)但是输入输出流会(包括伟大的cin),两者配合,可以成功实现单词的分割
#include<sstream>
#include<iostream>
using namespace std;
int main()
{
string line,word;
while(getline(cin,line))
{
stringstream stream(line);
cout<<stream.str()<<endl;
while(stream>>word){cout<<word<<endl;}//挨个出去
}
return 0;
}
 
 
 

stringsream用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. JavaWeb项目在浏览器点击几次就阻塞了

    问题描述 在学习JavaWeb项目时,通过IDE启动项目后,在浏览器点击几次页面中的链接就阻塞了,浏览器一直转圈圈无法加载,后台日志也没有输出. 第一次遇见这种情况,没有日志完全无法分析到底是什么问题 ...

  2. 洛谷 P4047 [JSOI2010]部落划分

    这道题其实就是无线通讯网的双倍经验啦,只是在输出的时候不同罢了.还是一样的\(kruskal\)算法,但是在求的时候,应该在\(now=n-k+1\)的时候结束.本来到\(n-k\)就行了的,但是由于 ...

  3. Pytest 单元测试框架标记用例

    1.Pytest 中标记用例 接参数 -k 来挑选要执行的测试项 pytest -k test_szdcs -s test_szdcs 为函数名称 -k 后面接的名称可以为函数名称.类名称.文件名称. ...

  4. 单表数据加载到TreeView(.Node.Level>=2) "蝴蝶效应" SelectedNode注意事项 效能优化 综合问题

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Configurat ...

  5. python基础知识-1

    1.python是静态的还是动态的?是强类型还弱类型? python是强类型的动态脚本语言: 强类型:不允许不同类型相加 动态:不使用显示类型声明,且确定一个变量的类型是在第一次给它赋值的时候 脚本语 ...

  6. (私人收藏)古风PPT高级灰蓝传艺

    古风PPT高级灰蓝传艺 https://pan.baidu.com/s/1ADgTfif8i6JqKORLXhTHHgn05p

  7. IE6浏览器有哪些常见的bug,以及解决IE6常用bug的方法

    1.IE6不支持min-height,解决办法使用css hack: .target { min-height: 100px; height: auto !important; height: 100 ...

  8. 3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案

    前提 最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标.一般,我们叫这样 ...

  9. springBoot整合redis(作缓存)

    springBoot整合Redis 1,配置Redis配置类 package org.redislearn.configuration; import java.lang.reflect.Method ...

  10. Qt-文件系统

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=45 参考文档:<Qt教程.docx> 说明:本文主要介绍Qt的文件系统. ...