关于字符串流的学习(c++)

/* 字符串流 在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。 文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。向内存中的一个字符数组写数据就如同向文件写数据一样,但有点不同: (1) 输出时数据不是流向外存文件,而是流向内存中的一个存储空间。输入时从内存中的存储空间读取数据。 (2) 字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需要打开和关闭文件。 (3) 每个文件的最后都有一个文件结束符,表示文件的结束。而字符串流所关联的字符数组中没有相应的结束标志,用户要指定一个特殊字符作为结束符,在向字符数组写入全部数据后要写入此字符。 字符串流类没有open成员函数,因此要在建立字符串流对象时通过给定参数来确立字符串流与字符数组的关联。即通过调用构造函数来解决此问题。建立字符串流对象的方法与含义如下: 1. 建立输出字符串流对象 ostrstream类提供的构造函数的原型为 ostrstream::ostrstream(char *buffer,int n,int mode=ios::out); buffer是指向字符数组首元素的指针,n为指定的流缓冲区的大小(一般选与字符数组的大小相同,也可以不同),第个参数是可选的,默认为ios::out方式。可以用以下语句建立输出字符串流对象并与字符数组建立关联: ostrstream strout(ch1,20); 作用是建立输出字符串流对象strout,并使strout与字符数组ch1关联(通过字符串流将数据输出到字符数组ch1),流缓冲区大小为。 2. 建立输入字符串流对象 istrstream类提供了两个带参的构造函数,原型为 istrstream::istrstream(char *buffer); istrstream::istrstream(char *buffer,int n); buffer是指向字符数组首元素的指针,用它来初始化流对象(使流对象与字符数组建立关联)。可以用以下语句建立输入字符串流对象: istrstream strin(ch2); 作用是建立输入字符串流对象strin,将字符数组ch2中的全部数据作为输入字符串流的内容。 istrstream strin(ch2,20); 流缓冲区大小为,因此只将字符数组ch2中的前个字符作为输入字符串流的内容。 3. 建立输入输出字符串流对象 strstream类提供的构造函数的原型为 strstream::strstream(char *buffer,int n,int mode); 可以用以下语句建立输入输出字符串流对象: strstream strio(ch3,sizeof(ch3),ios::in|ios::out); 作用是建立输入输出字符串流对象,以字符数组ch3为输入输出对象,流缓冲区大小与数组ch3相同。 以上个字符串流类是在头文件strstream中定义的,因此程序中在用到istrstream, ostrstream和strstream类时应包含头文件strstream(在GCC中,用头文件strstream)。 */

转载于:https://www.cnblogs.com/wwj9413/archive/2011/11/27/2292804.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

估计很多前端都没学过单元测试~

大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。已进行四个月了,很多小伙伴表示收获颇丰。想学源码,极力推荐订阅我写的《学习…

xd可以用ui动效效果吗_通过动画使UI设计栩栩如生:Adobe XD和After Effects

xd可以用ui动效效果吗Note — If you don’t fancy splashing out on an Adobe license, you can trial their products for 14 days each. That should give you more than enough time to play, check it out.注意—如果您不愿意花钱购买Adobe许可证,则可以分别试…

BookMarklet:瑞士军刀你用了吗?

Bookmarklet 是一段隐藏在链接后面的js代码,可以收藏在收藏夹。通过这段代码,我们可以跨浏览器(当然,也跨平台)实现一些工具。比起浏览器插件来说,使用更加方便。典型的,dict.cn 网站的工具和有…

第十二周编程总结

这个作业属于那个课程C语言程序设计II这个作业要求在哪里https://pintia.cn/problem-sets/1127748174659035136/problems/1127749414029729792我在这个课程的目标是更好的学习函数这个作业在那个具体方面帮助我实现目锻炼了我的编程能力参考文献c语言程序设计26-1 计算最长的字…

可能是全网首个前端源码共读活动,诚邀加入学习

大家好,我是若川。从8月份到现在11月结束了。每周一期,一起读200行左右的源码,撰写辅助文章,截止到现在整整4个月了。由写有《学习源码整体架构系列》20余篇的若川【若川视野公众号号主】倾力组织,召集了各大厂对于源码…

现代游戏中的UX趋势

ux设计中的各种地图游戏UX (GAMES UX) Even though websites and games have matured side-by-side over the past few decades, games have a long and detailed history of user experience. Sure, it was scrappy and fairly rudimentary initially, but the only way you c…

SQL Server 2008 安装过程中遇到“性能计数器注册表”..

Windows 2008 系统 SQL Server 2008 性能计数器注册表作者: 来源: 时间:2010-6-13 完美集成、增强 KindEditor HTML 编辑器今天跟随部门老大去现场学习,安装 Windows208 下 SQL Server2008&#xff0c…

你提交代码前没有校验?巧用gitHooks解决

大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。已进行四个月了,很多小伙伴表示收获颇丰。想学源码,极力推荐订阅我写的《学习…

Linux下自动化测试环境的搭建

1.安装Linux虚拟机,详情参考 https://blog.csdn.net/qq_22770715/article/details/78558374 https://www.cnblogs.com/Q277227/p/8176564.html 1.1 需要确定IP ,使用 ifconfig 1.2 linux的用户名跟密码; 1.3 确定可以远程ssh登录&…

code craft_以Craft.io为先—关于我们行业的实践职业道路的系列

code craft重点 (Top highlight)For the past two decades, digital product design / UX has been shifting to become a more strategic discipline within organizations. Partially because business leaders have started to pay attention to how design-driven companie…

Nginx+httpd反代实现动静分离

什么是动静分离为了提高网站的响应速度,减轻程序服务器(apachephp,nginxphp等)的负载,对于静态资源比如图片,js,css,html等静态文件,我们可以在反向代理服务器中设置&…

(建议收藏)前端面试必问的十六条HTTP网络知识体系

大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。已进行四个月了,很多小伙伴表示收获颇丰。想学源码,极力推荐订阅我写的《学习…

了解 DB2 Version 9.5 中的全局变量(转)

转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0711zubiri/ 简介 在关系数据库系统内部,应用程序和实际数据库之间的主要交互都是以会话或连接的 SQL 语句形式来实现的。过去,为了在相同会话中实现不同 SQL 语句之…

jQuery新版本加载json注意事项。

jQuery在1.4版本后,采用了更为严格的json解析方式,所以所有内容都必须要有双引号。比如以前{key:”28CATEGORY”,status:”0″}是没问题的。但升级成1.4后,都必须加上双引号:{“key” : “28CATEGORY”,“status” : “0″}如果你…

多边形的时针方向与法线方向

从相反的法线方向观察,顺时针还是逆时针是相反的。 多边形的时针方向与法线方向的关系呈右手法则关系。 GoogleEarth中的面具有时针方向,法线方向为正向,反之为负向 GoogleEarth的垂面在法线方向为亮色,反向为暗色 GoogleEarth的水…

裂墙推荐!再也不用求后端给接口了...

大家好,我是若川。今天咱们来介绍一款强大的云服务平台!MemFire Cloud注册即享5GB存储空间、每月100万读额度和每月10万写额度。平台入口:https://memfiredb.com/今天(12月10号)还有限时的送书活动!感兴趣的…

1.今日标签:视频价值一千字

I love the App Store. It looks and works better than ever. But also, I love tricky design challenges. How do you improve something that already works great?我喜欢App Store。 它的外观和工作比以往更好。 但是我也很棘手 设计挑战。 您如何改善已经很好的工作&a…

Android service 小研究

最近同学搞起了Android开发,自己也捡起来这个玩意来看看。这里先研究一下service Service是安卓系统提供的四种组件之一,功能与activity类似,只不过没有activity 的使用频率高。顾名思义Service就是运行在后台的一种服务程序一般很少与用户交…

蚂蚁金服疯了吗?大动作,非裁员,年底全员涨薪又涨假期!!!

大家好,我是若川。最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。以下分享一篇水文&#…

Android工程师转型Java后端开发之路,自己选的路,跪着也要走下去!

本文是公众号读者jianfeng投稿的面试经验恭喜该同学成功转型目录:毅然转型,没头苍蝇制定目标,系统学习面试经历毅然转岗,没头苍蝇首先,介绍一下我的背景。本人坐标广州,2016年毕业于一个普通二本大学&#…