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
2stringstream提供的转换和格式化
程序:
#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
转载于:https://www.cnblogs.com/propheteia/archive/2012/07/12/2588225.html
stringstream的基本用法相关推荐
- 【转】stringstream(sstream)常用用法介绍
[转]stringstream(sstream)常用用法介绍 转载自这篇博客 本文主要介绍 C++ 中 stringstream 类的常见用法. 1 概述 <sstream> 定义了三个类 ...
- stringstream的常见用法
stringstream的常见用法 前言 今天笔试实习,做到一道字符串的题,感觉自己对字符串掌握的不够,今天记录记录stringstream的学习 一.简介 头文件是 #include<sstr ...
- php cstr,小心stringstream.str()字符串用法的陷阱
在编写应用程序时,我们经常要使用到字符串.C++标准库中的和为我们操作字符串提供了很多的方便,例如:对象封装.安全和自动的类型转换.直接拼接.不必担心越界等等.但今天我们并不想长篇累牍得去介绍这几个标 ...
- 关于stringstream的用法总结
关于stringstream的用法总结 将整形转化成字符串 #include <iostream> #include <sstream>using namespace std; ...
- C++stringstream的妙用
1 介绍 C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于 ...
- stringstream的使用方法
在C语言中,如果想要将一个整形变量的数据转化为字符串格式,可以使用下面的方法: 1.使用itoa()函数 2.使用sprintf()函数 但是两个函数在转化时,都得需要先给出保存结果的空间,那空间要给 ...
- 算法竞赛入门经典(第二版) | 例题5-3 安迪的第一个字典 (紫书牛啤!)(UVa10815,Andy's First Dictionary)
概述: 输入一个文本,找出所有不同的单词,按字典序排序,去重后,输出,单词不分大小写. 储备知识: 1.sstring头文件的用法→sstring头文件函数详解 2.cctype头文件的用法→ccty ...
- leetcode string
1. palindrome-partitioning 解法: 因为需要输出所有的可行解,所以采用深度优先遍历(回溯法).输出最佳解的题目一般可以使用动态规划. 1 class Solution {2 ...
- PAT——Recover the Smallest Number
Recover the Smallest Number 题目 AC代码 参考 知识点总结 题目 Given a collection of number segments, you are suppo ...
最新文章
- python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...
- C# GUID的使用
- 2022年人工智能全球最具影响力学者榜单AI 2000
- 师范类专业可以不考计算机二级吗,2021师范专业要考教师资格证吗?师范生需要考的证有哪些?...
- Insertion Sort List
- 微信小程序 html css xml,微信小程序 使用towxml解析html流程及踩坑记录
- 现在已经到了考虑云计算的时候
- 什么?注释里面的代码居然能够执行
- Opportunity的chance of success determination逻辑
- Iptables防火墙原理
- 总被审稿人提起的多重假设检验校正是什么?
- HBase之MemStore flush流程
- Unique Binary Search Trees ll -深度优先遍历DFS
- SLAM_关于VIO中IMU预积分的讲解
- python学习日记(OOP——静态方法和类方法)
- tomcat设置JAVA_OPTS
- 虚幻4 游戏引擎(一):材质教学
- Android studio app登录界面设计
- Adobe flash professional CS5的序列号
- 计算机网络核心知识。
热门文章
- java线程分类_Java 线程类别
- axios获取图片显示_vue中使用axios post上传头像/图片并实时显示到页面的方法
- php 正则表达式 后向引用,php正则表达式 后向引用~ | 学步园
- 表达式_ya是不合法的c语言标识符,高级语言程序设计复习题.doc
- linux的 vi编辑器在哪,Linux Vi编辑器的使用
- Django远端访问
- java反射学习(1):反射的基本操作
- C#工厂方法模式 -抽象工厂模式
- python赋值语句对错_深入理解Python中变量赋值的问题
- Lua:给Redis用户的入门指导