第十一章IO流与文件系统.ppt

上传人:sccc 文档编号:5674936 上传时间:2023-08-08 格式:PPT 页数:19 大小:106.01KB
返回 下载 相关 举报
第十一章IO流与文件系统.ppt_第1页
第1页 / 共19页
第十一章IO流与文件系统.ppt_第2页
第2页 / 共19页
第十一章IO流与文件系统.ppt_第3页
第3页 / 共19页
第十一章IO流与文件系统.ppt_第4页
第4页 / 共19页
第十一章IO流与文件系统.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《第十一章IO流与文件系统.ppt》由会员分享,可在线阅读,更多相关《第十一章IO流与文件系统.ppt(19页珍藏版)》请在三一办公上搜索。

1、第十一章 IO流与文件系统,丘志杰电子科技大学计算机学院 软件学院,2023/8/8,电子科技大学计算机学院 软件学院,2,I/O系统的作用,I/O系统为程序与I/O设备之间进行数据交互提供了途径。,2023/8/8,电子科技大学计算机学院 软件学院,3,C+为何有自己的I/O系统,C语言的标准输入输出函数和只能处理基本数据类型,对用户自定义类型无能为力。C+可以重载输入输出运算符,能够处理用户自定义类型。C+采用继承方式来设计流库,功能更强大,扩充性更好。,2023/8/8,电子科技大学计算机学院 软件学院,4,C+流库的结构,C+流库是从继承方法建立起来的一个输入/输出类库,它具有两个平行

2、的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。streambuf类提供对缓冲区的低级操作:,2023/8/8,电子科技大学计算机学院 软件学院,5,ios类及其派生类提供用户使用流类的接口:,2023/8/8,电子科技大学计算机学院 软件学院,6,有关头文件和预定义流对象,包含常用流类声明的头文件:iostream.h支持标准I/0操作fstream.h 支持文件I/0操作strstream.h 支持串I/0操作iomanip.h支持大多数流操纵符当开始执行C+程序时,有几个自动打开的预定义流:cin标准输入cout标准输出cerr不带缓冲标准出错信

3、息输出clog带缓冲标准出错信息输出,2023/8/8,电子科技大学计算机学院 软件学院,7,输入和输出,istream和ostream是用户使用流库的主要界面之一。istream提供了主要的输入操作,可以通过istream完成如下操作:从输入流中获取单个字符。从输入流中获取一行数据。从输入流中获取指定字节数的数据。将文件指针移动到指定位置,等等。,2023/8/8,电子科技大学计算机学院 软件学院,8,ostream提供了主要的输出操作,可以通过ostream完成如下操作:刷新输出流。向输出流中写入指定字节数的数据。将文件指针移动到指定位置,等等。istream和ostream分别重载了和两

4、个运算符,用户可以很方便地使用这两个运算符对预定义类型进行输入和输出。用户也可以重载这两个运算符,从而能够输入和输出自定义类的对象。,2023/8/8,电子科技大学计算机学院 软件学院,9,格式控制,C+提供了两种格式控制的方法:使用操作符使用ios类中实现格式控制的成员函数,2023/8/8,电子科技大学计算机学院 软件学院,10,使用操作函数控制格式,C+I/O流库提供了一些操作符(如下表所示),可以直接嵌入到输入/输出语句中来实现特殊格式的控制。,2023/8/8,电子科技大学计算机学院 软件学院,11,2023/8/8,电子科技大学计算机学院 软件学院,12,例子,void main(

5、)int a=100;couthexaendl;coutoctaendl;coutdecaendl;/结果:64144100,2023/8/8,电子科技大学计算机学院 软件学院,13,使用ios类成员函数格式化,输入输出的格式由各种格式状态标志来确定。这些状态标志在状态量中各占一位,它们在ios类中定义为枚举量,如下表所示。这些成员函数的功能包括:设置格式状态标志(setf)清除格式状态标志(unsetf)获取格式状态标志(flag)设置域宽、填充字符和设置精度(width、fill、precision等),2023/8/8,电子科技大学计算机学院 软件学院,14,2023/8/8,电子科技大

6、学计算机学院 软件学院,15,例子,void main()int a=20;double b=111.11;cout.setf(ios:showpos|ios:scientific);coutaendl;coutbendl;/结果:+20+1.111100e+002,2023/8/8,电子科技大学计算机学院 软件学院,16,文件I/O,C+把文件看作是字符序列。根据数据的组织形式,文件可分成ASCII文件和二进制文件两种。ASCII文件又称为文本文件,它的每一个字节放一个ASCII代码,代表一个字符,这样便于对字符进行处理,也便于输出,但占用存储空间较多。二进制文件是把内存的数据,按其在内存中

7、的存储形式原样写到磁盘上。用二进制形式输出数据,可节省外存空间和转换时间,但一个字节并不对应一个字符。一般,中间结果常用二进制文件保存,以减少外存开销。,2023/8/8,电子科技大学计算机学院 软件学院,17,C+中进行文件I/O的基本过程,在C+中,要进行文件的I/O,必须首先创建一个流,然后将这个流与文件相关联,即打开文件,此时才能进行读/写操作,完成后再关闭这个文件。,2023/8/8,电子科技大学计算机学院 软件学院,18,文件的打开和关闭,C+有三种类型的文件流:输入文件ifstream,输出文件流ofstream,输入/输出文件流fstream。这些文件流都定义在fstream.

8、h中。要执行文件输入/输出,须做三件事:在程序中要包含头文件fstream.h建立流。建立流的过程就是定义流类的对象。使用open()函数打开文件,也就是使某一文件与上面的某一流相联系。,2023/8/8,电子科技大学计算机学院 软件学院,19,举例,#include#include void main()char buf32;ifstream in;memset(buf,0,sizeof(buf);in.open(c:test.txt,ios:in);inbuf;in.close();ofstream out;out.open(c:test.txt,ios:out);strcat(buf,123456789);outbuf;out.close();,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号