- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sstream和strstream的用法
在C++有两种字符串流,也称为数组I/O流,一种在?strstream?中定义,另一种在?sstream?中定义。它们实现的东西基本一样。strstream里包含:class strstreambuf;class istrstream;class ostrstream;class strstream;它们是基于C类型字符串char*编写的sstream中包含:class stringbuf;class istringstream;class ostringstream;class stringstream;它们是基于std::string编写的因此ostrstream::str()返回的是char*类型的字符串而ostringstream::str()返回的是std::string类型的字符串在使用的时候要注意到二者的区别,一般情况下推荐使用std::string类型的字符串当然如果为了保持和C的兼容,使用strstream也是不错的选择。但要记住一点,strstream虽仍然是C++语言标准的一部分,但已被C++标准宣称为“deprecated”,也就是不再提倡使用了,也说不定以后干粹就没了。先介绍一下sstream//strigstream流以空格为边界符,使用其须包含sstream头文件//istringstream 用法istringstream istring;string ss(ss 8346520);istring.str(ss);int i=0;string s;istringsi;couts iendl;或者istringstream istring(ss 8346520);int i=0;string s;istringsi;couts iendl;都将打印:s内容是ss,i内容是8346520的结果;//ostringstream 用法string s=test;int i=8346520;int j=0;string s1;ostringstream ostring; //不能写成ostringstream ostrings i;ostrings i;coutostring.str()endl; //ostring流内保存内容是 test 8346520istringstream istring(ostring.str());istrings1j;//要注意此处的顺序;couts1――――jendl;简单说说strstream:基于数组的类有istrstream、ostrstream和strstream。它们分别用来创建输入、输出和输入/输出流。这些类的基类之一是strstreambuf,它定义了派生类使用的几个底层的具体属性。除了strstreambuf以外,istream 也是istrstream的基类。类ostrstream包括了类ostream。strstream也包括了类iostream。所以,所有基于数组的类和“普通”I/O类一样存取相同的成员函数。创建基于数组的输出流要将一个输出流和一个数组关联起来,可使用下列ostream的构造函数:ostrstream ostr(char *buf, int size, int mode=ios::out);其中,buf是指向数组的指针,该数组接收写入流的字符。数组的长度由参数size确定。缺省时,流以输出方式打开,但也可以将几项或在一起复合为所需的方式(例如,可以包含ios::app使输出添加在数组中已存在的信息的尾部)。mode的缺省值可以满足大多数的要求。一旦打开了一个基于数组的输出流,所有对这个流的输出就放在数组中。但是,任何输出都不能写到数组的限界之外,任何这种企图都会导致错误。下面是一个介绍基于数组的输出流的简单程序。#include iostream#include strstreamusing namespace std;int main(){int arraysize=50;char *pbuffer=new char[arraysize];ostrstream ostr(pbuffer,arraysize,ios::out);ostrHello ;ostr99-14hex ;ostr.setf(ios::showbase);ostr100ends; //使用ostrstream输出到流对象的时候,要用ends结束字符串coutpbuffer;delete[] pbuffer;return 0;}使用数组作输入:要将输入流和数组关联起来,可使用下列istrstream的构造函数:istrstream istr(char*buf);其中,buf是指向数组的指针,该数组作为每次向流输入的字符源。 buf所指的数组必须以空结束。空结束符从不
您可能关注的文档
- kettle_步骤解释.docx
- k 第十章 指针.ppt
- Matlab使用urlread()读取网页乱码问题.docx
- Java各版本从控制台读取数据的方法.pdf
- MpegTS流和PS流区别.docx
- MVC基础系列说谈—HtmlHelper,自定义,扩展HtmlHelper.pdf
- Nothing Succeeds Without a Strong Will作文范文.doc
- Oracle 10g 配置单向stream流复制.docx
- ramipril and stroke 雷米普利与中风.doc
- sprintf用法详解.pdf
- StrokesPlus教程(2013年3月26日更新).doc
- VS2013 开发MFC串口和数据库.pdf
- XFire配置webService 调用报错:org.codehaus.xfire.util.stax.DepthXMLStreamReader.docx
- ZIP解压和压缩.docx
- 一个非常Strong的编程学习方法.doc
- 串的动态顺序存储实现.pdf
- 了解JDK 6和JDK 7中substring的原理及区别.pdf
- 优美的英语文章《学会坚强I Learn To Be Strong》帮助学习英语.doc
- 使用modelsin对quartus II仿真时遇到问题的解决方法.docx
- 在ubuntu11.10下编译官方下载安卓源代码.pdf
最近下载
- 2025年安徽皖江高速公路有限公司高速公路收费人员招聘笔试模拟试题及答案解析.docx VIP
- 人体结构与功能教案仅供参考.pptx VIP
- 物探报告范例.pdf VIP
- 三级养老护理员国家职业技能培训模块一项目三任务三协助老年人进行口腔吸痰.pptx VIP
- 2025年安徽皖江高速公路有限公司高速公路收费人员招聘考试备考题库及答案解析.docx VIP
- 2025年安徽皖江高速公路有限公司高速公路收费人员招聘笔试备考试题及答案解析.docx VIP
- 完整版2025年开学思政第一课.ppt VIP
- 2025年安徽皖江高速公路有限公司高速公路收费人员招聘考试备考试题及答案解析.docx VIP
- 写作载体与写作受体.ppt VIP
- 电子科技大学博士、硕士学位授权点一览表最终.docx VIP
文档评论(0)