第9章输入输出流类库.ppt

第9章输入输出流类库.ppt

ID:58046390

大小:799.50 KB

页数:83页

时间:2020-09-04

第9章输入输出流类库.ppt_第1页
第9章输入输出流类库.ppt_第2页
第9章输入输出流类库.ppt_第3页
第9章输入输出流类库.ppt_第4页
第9章输入输出流类库.ppt_第5页
资源描述:

《第9章输入输出流类库.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章流类库和输入/输出本章的最主要目的就是把对象保存到磁盘文件中并从磁盘文件重建对象。当然C++可完成更多的任务。C++语言中并没有输入/输出语句,而是在标准库里包含了一个I/O流类库,它与标准模板库同为C++标准库中最重要的组成部分。数据从一个对象到另一个对象的传送被抽象为“流”。数据的输入/输出就是通过输入/输出流来实现的。流是一种抽象的概念,负责在数据的产生者和数据的使用者之间建立联系,并管理数据的流动。第九章流类库和输入/输出9.1C++的基本流类体系9.3标准设备的输入/输出9.2输入输出的格式控制9.4文件的输入与输出9.7图书馆流通管理系统设计——输出/输入流的应用9.5字符

2、串流(内存流)9.6MFC中的文件处理9.1C++的基本流类体系整个流类体系是一个派生类体系。按ANSIC++标准,类ios是抽象类,它的析构函数是虚函数,它的构造函数为保护的,作为所有基本流类的基类。VC++中有一个构造函数ios(streambuf*)为公有,与ANSIC++不同。图9.1输入/输出流类派生体系iosstreambufistreamostreamistream_withassigniostreamostream_withassigniostream_withassign指针9.1C++的基本流类体系iostreamfstreamstrstreamstdiostreamio

3、sistreamifstrstreamistream_withassignifstreamstreambufstrstreambufstdiobufiostream_initostreamofstreamostream_withassignostrstream图9.2输入/输出流类层次streambuf是一个独立的类,只是ios有一个保护访问限制的指针指向它。streambuf的作用是管理一个流的缓冲区。ios提供了对流进行格式化输入输出和错误处理的成员函数。所有派生都是公有派生。istream类提供完成提取(输入)操作的成员函数,而ostream类提供完成插入(输出)操作的成员函数。ios

4、tream类是前两者的组合。9.1C++的基本流类体系在流类库中,最重要的两部分功能为标准输入/输出(standardinput/output)和文件处理。在C++的流类库中定义了四个全局流对象:cin,cout,cerr和clog。可以完成人机交互的功能。cin标准输入流对象,键盘为其对应的标准设备。cout标准输出流对象,显示器为标准设备。cerr和clog标准错误输出流,输出设备是显示器。其中cin、cout和clog是带缓冲区的,缓冲区由streambuf类对象来管理。而cerr为非缓冲区流,一旦错误发生立即显示。要使用这四个功能,必须包含文件。9.1C++的

5、基本流类体系提取运算符“>>”(stream_extractionoperator)和插入运算符“<<”(stream_insertionoperator),执行输入/输出操作。“提取”的含义是指输入操作,可看作从流中提取一个字符序列。“插入”的含义是指输出操作,可看作向流中插入一个字符序列。文件处理完成永久保存的功能。在VC++的MFC编程中采用了序列化(Serialization)。9.2输入输出的格式控制enum{skipws=0x0001,//跳过输入中的空白字符left=0x0002,//输出左对齐right=0x0004,//输出右对齐internal=0x0008,//在输出符

6、号或数制字符后填充dec=0x0010,//在输入输出时将数据按十进制处理oct=0x0020,//在输入输出时将数据按八进制处理hex=0x0040,//在输入输出时将数据按十六进制处理showbase=0x0080,//在输出时带有表示数制基的字符C++在类ios中提供格式化输入输出。这些格式是对所有文本方式的输入输出流均适用。格式控制符定义为公有的无名的枚举类型:9.2输入输出的格式控制showpoint=0x0100,//输出浮点数时,必定带小数点uppercase=0x0200,//输出十六进制,用大写showpos=0x0400,//输出正数时,加”+”号scientific=0

7、x0800,//科学数方式输出浮点数fixed=0x1000,//定点数方式输出实数unitbuf=0x2000,//插入后,立即刷新流stdio=0x4000}//插入后,立即刷新stdout和stderr该枚举量说明中每一个枚举量实际对应两字节数据(16位)中的一个位,所以可以同时采用几个格式控制,只要把对应位置1即可,这样既方便又节约内存。取多种控制时,用或“

8、”运算符来合成,合成为一个长整型数,在io

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。