第一范文网 - 专业文章范例文档资料分享平台

8.2 创建内核流

来源:用户分享 时间:2025/11/21 14:50:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

8.2 创建内核流

有时我们需要将内存中的一个字符串内的数字字符转换成二进制形式,或将一个二进制数据转换成字符保存在内存中的一个字符串内。C++系统的流库同样也为程序员提供了这种功能,执行这种操作的类的等级如图8—2所示。

我们关心的仍是istrstream类、ostrstream类和strstream类的构造函数,这些构造函数建立起一个内核流对象,然后我们可以象使用文件流那样使用iostream类及其所有的基类中提供的成员函数进行内核流的提取和插入。

istrstream类的构造函数是: istrstream::istrstream(char *); istrstream::istrstream(char *,int);

这两个构造函数的第一个能数指定创建istrstream类的一个对象时,要进行提取操作的串,第一个构造函数所使用的串长由串中的NUL字符来决定,第二个构造函数只使用第二个参数所指定的串长度。

例8_6:EX8_6.CPP。

例8_7:通过直接调用istrstream的构造函数建立不同的流对象,这个程序将命令行输入的数字参数转换到一个整数数组中EX8_7.CPP。

ostrstream类的构造函数是

ostrstream::ostrstream(char *,int,int=ios::out); ostrstream::ostream();

第二个构造函数动态地建立一个保存转换后的串的缓冲区;第一个构造函数的每一个参数为指向缓冲区的指针,第二个参数指定缓冲区的长度,第三个是操作方式字,如果这个参数的值为ios::app或ios::ate,则建立这个对象时,提取和插入指针定位在NUL字符上,插入的字符序列从NUL字符开始存储。

例8_8:EX8_8.CPP。

ostrstream类的成员函数 int ostrstream::pcount();

返回缓冲区中当前已保存的字节数,而成员函数

char *ostrstream::str();

返回缓冲区的地址。一旦调用了这个函数,ostrstream类的对象就不再和这个缓冲区相联结。如果在建立ostrstream类的对象时使用了缺省构造函数,这时在程序使用成员函数str()获得的缓冲区不再使用时应使用delete释放它。

strstream类的构造函数是

strstream::strstream(char *,int,int); strstream::strstream();

第二个构造函数类似于ostrstream::ostrstream(),动态地建立进行插入所需的缓冲区;第一个构造函数的前两个参数指定缓冲区和所使用的缓冲区的大小,第三个参数为方式字,可以指定ios::out、ios::in或ios::app、ios::ate等在ios类中定义的有意义的方式。当指定了ios::app或ios::ate时,提取和插入指针定位到NUL字符上,strstream类提供了对一个缓冲区既进行提取又进行插入的能力。

除了内核流是建立在内存中之外,内核流的概念和文件流的概念一样,因此,可以使用文件流使用的成员函数操作内核流,例如,使用seekg,read,write等。

搜索更多关于: 8.2 创建内核流 的文档
8.2 创建内核流.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c65v0i2bsbb58u602x74s2b61z97lf1017jw_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top