流类库和输入输出(C程序设计(第2版)吴乃陵)

流类库和输入输出(C程序设计(第2版)吴乃陵)

ID:46842730

大小:257.66 KB

页数:21页

时间:2019-11-28

流类库和输入输出(C程序设计(第2版)吴乃陵)_第1页
流类库和输入输出(C程序设计(第2版)吴乃陵)_第2页
流类库和输入输出(C程序设计(第2版)吴乃陵)_第3页
流类库和输入输出(C程序设计(第2版)吴乃陵)_第4页
流类库和输入输出(C程序设计(第2版)吴乃陵)_第5页
资源描述:

《流类库和输入输出(C程序设计(第2版)吴乃陵)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章流类库和输入/输出文件是存储在磁盘、磁带等外部设备上数据集合,每一个文件都必须有一个唯一名字。使用文件前必须首先打开文件,使用后必须关闭文件。对文件的操作时通过文件流类完成的。文件流类在流与文件之间建立连接,使用这些文件流类必须用#include编译指令将fstream.h包含进来。数据从一个对象到另一个对象的传送被抽象为“流”。数据的输入/输出就是通过输入/输出流来实现的。流是一种抽象的概念,负责在数据的产生者和数据的使用者之间建立联系,并管理数据的流动。9.1C++的基本流类体系流类体系:以抽象类模板ios为基类,流类模板派生体系见图。

2、整个流类模板体系的标准I/O在头文件中说明,它包含头文件。而输入输出文件流部分在头文件中说明。主要输入/输出流模板层次iosstreambufistreamostreamifstreamiostreamofstreamfstream指针9.2文件的输入与输出本节中文件指的是磁盘文件。C++根据文件(file)内容的数据格式,可分为两类:二进制文件和文本文件。文本文件由字符序列组成,也称ASCII码文件,在文本文件中存取的最小信息单位为字

3、符(character),而二进制文件中存取的最小信息单位为字节(Byte)。C++把每一个文件都看成一个有序的字节流,见图9.2,每一个文件或者以文件结束符(endoffilemarker)结束,或者在特定的字节号处结束。012436578…n-1…文件结束符图9.2C++把文件看作有序的n个字节的流文件的基本概念:9.2文件的输入与输出当打开一个文件时,该文件就和某个流关联起来了。对文件进行读写实际上受到一个文件定位指针(filepositionpointer)的控制。输入流的指针也称为读指针,每一次提取操作将从读指针当前所指位置开始,每次提

4、取操作自动将读指针向文件尾移动。输出流指针也称写指针,每一次插入操作将从写指针当前位置开始,每次插入操作自动将写指针向文件尾移动。9.2.1文件的打开与关闭9.2.2文本文件的读写9.2.3二进制文件的读写9.2.4文件的随机访问9.2.1文件的打开与关闭文件使用步骤:1.说明一个文件流对象,这又被称为内部文件:ifstreamifile;//只输入用ofstreamofile;//只输出用fstreamiofile;//既输入又输出用2.使用文件流对象的成员函数打开一个磁盘文件。这样在文件流对象和磁盘文件名之间建立联系。文件流中说明了三个打开文

5、件的成员函数。voidifstream::open(constchar*,int=ios::in,int=filebuf::openprot);voidofstream::open(constchar*,int=ios::out,int=filebuf::opernprot);voidfstream::open(constchar*,int,int=filebuf::openprot);第一个参数为要打开的磁盘文件名。第二个参数为打开方式,有输入(in),输出(out)等,打开方式在ios基类中定义为枚举类型。第三个参数为指定打开文件的保护方式,

6、一般取默认。所以第二步可如下进行:iofile.open(“myfile.txt”,ios::in

7、ios::out);文件打开方式:是由在ios类中定义的公有枚举成员决定:enumopen_mode{in=0x01,out=0x02,ate=0x04,app=0x08,trunc=0x10,binary=0x80};ios::in打开文件进行读操作ios::out打开文件进行写操作ios::ate打开时文件指针定位到文件尾ios::app添加模式,所有增加都在文件尾部进行ios::trunc如果文件已经存在则清空源文件ios::nocreate

8、如果文件不存在则打开失败ios::noreplace如果文件存在则打开失败ios::binary二进制文件(非文本文件)Mode的符号常量可以用位或运算

9、组合在一起,如:ios::in

10、ios::binary只读方式打开二进制文件对于ifstream流,mode默认方式是ios;;in;对于ofstream流,mode默认方式是ios;;out;打开方式解释:Port决定文件的访问方式0普通文件2隐含文件1只读文件4系统文件三个文件流类都重载了一个带默认参数的构造函数,功能与open函数一样:ifstream::ifstream(constcha

11、r*,int=ios::in,int=filebuf::openprot);ofstream::ofstream(constchar*,

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

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

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