《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.2)创建内核流

8.2创建内核流 有时我们需要将内存中的一个字符串内的数字字符转换成二进制形式,或将一个二进制 数据转换成字符保存在内存中的一个字符串内。C++系统的流库同样也为程序员提供了这种 功能,执行这种操作的类的等级如图8-2所示 10S streambuf Istream ostream strstreambase strstreambuf iostream lstrstrearm ostrstream strtream 图8-2内核I0类等级 我们关心的仍是 Istrstrea类、 ostrstream类和 strstream类的构造函数,这些构造函数建 立起一个内核流对象,然后我们可以象使用文件流那样使用 Iostream类及其所有的基类中提 供的成员函数进行内核流的提取和插入 strstream类的构造函数是: strstream: istrstream(char * istrstream: istrstream( char * int) 这两个构造函数的第一个能数指定创建 Istrstream类的一个对象时,要进行提取操作的串 第一个构造函数所使用的串长由串中的NUL字符来决定,第二个构造函数只使用第二个参 数所指定的串长度 例86:EX86.CPP。 例87:通过直接调用 Istrstrean的构造函数建立不同的流对象,这个程序将命令行输 入的数字参数转换到一个整数数组中EX87.CPP。 ostrstrea类的构造函数是 ostrstream: ostrstream(char *, int, int=ios::out ostrstream: : ostreamo 第二个构造函数动态地建立一个保存转换后的串的缓冲区:第一个构造函数的每一个参数为 指向缓冲区的指针,第二个参数指定缓冲区的长度,第三个是操作方式字,如果这个参数的 值为ios:app或ios:ate,则建立这个对象时,提取和插入指针定位在NUL字符上,插入的 字符序列从NUL字符开始存储 例88:EX88.CPP。 ostrstrea类的成员函数 int ostrstream pcounto 返回缓冲区中当前已保存的字节数,而成员函数
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: strO 返回缓冲区的地址。一旦调用了这个函数, ostrstream类的对象就不再和这个缓冲区相联结 如果在建立 ostrstream类的对象时使用了缺省构造函数,这时在程序使用成员函数strO获得 的缓冲区不再使用时应使用 delete释放它。 istream类的构造函数是 strstream::strstream(char*, int, int) strstream:strstreamo 第二个构造函数类似于 ostrstream: ostrstream(,动态地建立进行插入所需的缓冲区:第一个 构造函数的前两个参数指定缓冲区和所使用的缓冲区的大小,第三个参数为方式字,可以指 定ios:out、ios;:in或ios:app、ios:ate等在ios类中定义的有意义的方式。当指定了ios:app 或ios:ate时,提取和插入指针定位到NUL字符上, strstream类提供了对一个缓冲区既进行 提取又进行插入的能力 除了内核流是建立在内存中之外,内核流的概念和文件流的概念一样,因此,可以使用 文件流使用的成员函数操作内核流,例如,使用 seekg,read, write等
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 等
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.1)创建文件流.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.5)赋值兼容规则.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.4)继承性应用实例分析.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.3)多重继承的设计.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.2)基类和派生类.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.1)类层次、数据抽象和模块化.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.6)输入输出流简介.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.5)C++的语句及程序流程控制.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.4)C++的运算符和表达式.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.3)C++数据类型.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.2)C++程序构架及词法符号约定.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.1)C++语言概述.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.4)结构类型及链表处理.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.3)函数类型与应用方法.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.2)指针类型与地址算法.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.1)数组类型与简单线性表处理.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.5)系统文档编制和实现、测试.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.4)评审和修正OOA模型.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.3)系统设计阶段和步骤.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.2)系统分析方法.doc
- 《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.3)自定义的操纵算子.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.1)重载与程序的多态性设计.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.2)虚函数方法与多态机制.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.3)纯虚函数与同一协议的多版本.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.4)利用类库中虚函数进行多态程序设计.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.1)类的构造和创建.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.2)构造函数和析构函数.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.3)类构造的存储设计.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.4)类中类用法.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.5)类与对象的进一步用法.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.6)类与结构、联合的关系.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.8)指向类成员的指针.doc
- 荆州职院:《平面广告设计》第二章 平面广告市场调查.ppt
- 荆州职院:《平面广告设计》第一章 序言.ppt
- 荆州职院:《平面广告设计》第四章 平面广告的创意及表现.ppt
- 荆州职院:《平面广告设计》第五章 平面广告设计的表现技法.ppt
- 荆州职院:《平面广告设计》第六章 平面广告的编排设计.ppt
- 荆州职院:《平面广告设计》第七章 平面广告分类设计法则.ppt
- 荆州职院:《平面广告设计》电子教案.doc
- 宜宾职业技术学院:《办公自动化》课程教学资源_考试试题(二).doc