stringstream的用法
stringstream的基本用法
stringstream是字符串流。它将流与存储在内存中的string对象绑定起来。
在多种数据类型之间实现自动格式化。
1.stringstream对象的使用
#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;
}
输入:shanghai no1 school 1989
输出:shanghi no1 school 1989
   shanghai
    no1
    school
    1989
2.stringstream提供的转换和格式化
程序:
#include<sstream>
#include<iostream>
using namespace std;
int main()
{
int val1 = 512,val2 =1024;
stringstream ss;
ss<<"val1: "<<val1<<endl //“val1: "此处有空格,字符串流是通过空格判断一个字符串的结束
     <<"val2: "<<val2<<endl;
cout<<ss.str();
string dump;
int a,b;
ss>>dump>>a
     >>dump>>b;
cout<<a<<" "<<b<<endl;
return 0;
}
输出为:val1: 512
    val2: 1024
    512 1024
第一处黑体字部分:将int类型读入ss,变为string类型
第二处黑体字部分:提取512,1024保存为int类型。当然,如果a,b声明为string类型,那么这两个字面值常量相应保存为string类型
3.其他注意
stringstream不会主动释放内存(或许是为了提高效率),但如果要在程序中用同一个流,反复读写大量的数据,将会造成大量的内存消 耗,因些这时候,需要适时地清除一下缓冲 (用 stream.str("") )
#include <cstdlib>
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
stringstream ss;
string s;
ss<<"shanghai no1 school";
ss>>s;
cout<<"size of stream = "<<ss.str().length()<<endl;
cout<<"s: "<<s<<endl;
ss.str("");
cout<<"size of stream = "<<ss.str().length()<<endl;
}
输出:
size of stream = 19
s: shanghai
size of stream = 0
stringstream的用法的更多相关文章
- C++ stringstream的用法
		Created at stringstream的用法 使用stringstream对象简化类型转换 C++标准库中的<sstream>提供了比ANSI C的<stdio.h&g ... 
- stringstream的用法【转】
		[本文来自]http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/ ... 
- [转]stringstream的用法
		使用stringstream对象简化类型转换C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性.类型安全和可扩展性.在本文中, ... 
- HDU 4329 MAP(stringstream的用法)
		这个题目有点绕,但是按着他的意思写不难模拟出来.本来是一场学弟们的训练赛,我这个学长在赛场上却WA了四次都没过,三条黑线就一直在我的脑袋上挂着... 赛后开始找原因,后来发现题目看错了,1/R中的R是 ... 
- 转:stringstream的用法
		[本文来自]http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/ ... 
- sscanf、sprintf、stringstream常见用法
		转载自:https://blog.csdn.net/jllongbell/article/details/79092891 前言: 以前没有接触过stringstream这个类的时候,常用的字符串和数 ... 
- C++(一)— stringstream的用法
		输入输出的头文件 <iostream> string流的头文件 <sstream> 文件流的头文件 <fstream> 1.利用输入输出做数据转换 stri ... 
- stringstream常见用法介绍
		1 概述 <sstream> 定义了三个类:istringstream.ostringstream 和 stringstream,分别用来进行流的输入.输出和输入输出操作.本文以 stri ... 
- c++之stringstream类的用法
		简介: 今天利用opecv提取每一帧图片并保存到本地指定目录下的时,对于保存的每一帧的图片希望第几帧体现在图片名中, 这里便用到了stringstream类的将数字转化为字符串这一功能 C++ Str ... 
随机推荐
- Android中无标题样式和全屏样式学习
			在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ... 
- PHP的count(数组)和strlen(字符串)的内部实现
			PHP的count(数组)和strlen(字符串)的内部实现上是直接显示一个长度变量,还是重头依次数一遍有多少个元素?关乎我理解这2个函数的效率..希望高人能从php的c源码上讲一讲.没有源码看过源码 ... 
- Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax
			目录 1什么是json 2json语法 3json的使用 4利用jQuery实现ajax编程 1 什么是json JavaScript Object Notation(JavaScript 对象表示法 ... 
- gearman 并发的执行多个任务
			Examples: Multi-Query In this example we know that we need to fetch several result sets from a datab ... 
- GCD 学习(三)Main&Global Dispatch Queue
			摘录自:http://zhuyanfeng.com/archives/3066 Main Dispatch Queue是在主线程中执行任务的Dispatch Queue.因为主线程只有1个,所以Mai ... 
- 5.移动渗透测试工具之drozer
			本篇博文主要来介绍drozer在移动渗透中的作用 本次实验环境所用工具为:夜神模拟器,drozer-2.3.4,sieve.apk,adb drozer安装这里不再多嘴,给出链接:https://ww ... 
- 6678 emif norflash加载
			终于搞定,纪念一下.CCS6很不好用,还是换回CCS5.5吧! 
- SPOJ - BALNUM Balanced Numbers(数位dp+三进制状压)
			Balanced Numbers Balanced numbers have been used by mathematicians for centuries. A positive integer ... 
- 国内物联网平台(7):Ablecloud物联网自助开发和大数据云平台
			国内物联网平台(7)——Ablecloud物联网自助开发和大数据云平台 马智 平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速 ... 
- Arcgis android 10.2安装方法
			请仔细对照博文做!!! 将arcgis android 10.2的压缩包解压 arcgis android 10.2下载地址http://pan.baidu.com/s/1sj2LKO9 Help-& ... 
