2022年文件流是以外存文件为输入输出对象的数据流参考 .pdf
《2022年文件流是以外存文件为输入输出对象的数据流参考 .pdf》由会员分享,可在线阅读,更多相关《2022年文件流是以外存文件为输入输出对象的数据流参考 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据读入。字符串流也称为内存流。字符串流也有相应的缓冲区,开始时流缓冲区是空的。如果向字符数组存入数据,随着向流插入数据,流缓冲区中的数据不断增加,待缓冲区满了(或遇换行符),一起存入字符数组。如果是从字符数组读数据,先将字符数组中的数据送到流缓冲区,然后从缓冲区中提取数据赋给有关变量。在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制
2、形式转换为 ASCII 代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII 代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。这种情况与以标准设备(键盘和显示器)为对象的输入输出是类似的,键盘和显示器都是按字符形式输入输出的设备,内存中的数据在输出到显示器之前,先要转换为ASCII 码形式,并送到输出缓冲区中。从键盘输入的数据以ASCII 码形式输入到输入缓冲区,在赋给变量前转换为相应变量类型的二进制形式,然后赋给变量。对于字符串流的输入输出的情况,如不清楚,可以从对标准设备的输入输出中得到启发。文件流
3、类有ifstream,ofstream和 fstream,而字符串流类有istrstream,ostrstream和 strstream。文件流类和字符串流类都是ostream,istream和 iostream 类的派生类,因此对它们的操作方法是基本相同的。向内存中的一个字符数组写数据就如同向文件写数据一样,但有 3 点不同:1.输出时数据不是流向外存文件,而是流向内存中的一个存储空间。输入时从内存中的存储空间读取数据。在严格的意义上说,这不属于输入输出,称为读写比较合适。因为输入输出一般指的是在计算机内存与计算机外的文件(外部设备也视为文件)之间的数据传送。但由于C+的字符串流采用了C+的
4、流输入输出机制,因此往往也用输入和输出来表述读写操作。2.字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需要打开和关闭文件。3.每个文件的最后都有一个文件结束符,表示文件的结束。而字符串流所关联的字符数组中没有相应的结束标志,用户要指定一个特殊字符作为结束符,在向字符数组写入全部数据后要写入此字符。字符串流类没有open 成员函数,因此要在建立字符串流对象时通过给定参数来确立字符串流与字符数组的关联。即通过调用构造函数来解决此问题。建立字符串流对象的方法与含义如下。建立输出字符串流对象ostrstream类提供的构造函数的原型为:ostrstream:ostrstream(cha
5、r*buffer,int n,int mode=ios:out);buffer 是指向字符数组首元素的指针,n 为指定的流缓冲区的大小(一般选与字符数组的大小相同,也可以不同),第3 个参数是可选的,默认为ios:out 方式。可以用以下语句建立输出字符串流对象并与字符数组建立关联:ostrstream strout(ch1,20);作用是建立输出字符串流对象strout,并使 strout 与字符数组ch1 关联(通过字符串流将数据输出到字符数组ch1),流缓冲区大小为 20。建立输入字符串流对象istrstream类提供了两个带参的构造函数,原型为:istrstream:istrstrea
6、m(char*buffer);istrstream:istrstream(char*buffer,int n);buffer 是指向字符数组首元素的指针,用它来初始化流对象(使流对象与字符数组建立关联)。可以用以下语句建立输入字符串流对象:istrstream strin(ch2);作用是建立输入字符串流对象strin,将字符数组ch2 中的全部数据作为输入字符串流的内容。istrstream strin(ch2,20);流缓冲区大小为20,因此只将字符数组ch2 中的,20 个字符作为输入字符串流的内容。建立输入输出字符串流对象strstream 类提供的构造函数的原型为:strstream
7、:strstream(char*buffer,int n,int mode);可以用以下语句建立输入输出字符串流对象:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 3 页 -2 strstream strio(ch3,sizeof(ch3),ios:in|ios:out);作用是建立输入输出字符串流对象,以字符数组ch3 为输入输出对象,流缓冲区大小与数组ch3 相同。以上个字符串流类是在头文件strstream 中定义的,因此程序中在用到istrstream、ostrstream和 strstream 类时应包含头文件strstream(在 GCC 中,用头文件strstre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年文件流是以外存文件为输入输出对象的数据流参考 2022 文件 是以 外存 输入输出 对象 数据流 参考
限制150内