文档详情

流与文件.ppt

发布:2017-09-07约4.24千字共28页下载文档
文本预览下载声明
UNIT 12 I/O流与文件 主讲人:谭成予 副教授 武汉大学计算机学院 本讲内容提纲 C++语言的流类库及其基本结构 预定义的输入与输出 用户自定义的输入与输出 文件的输入/输出 1.1、 流 1.2、 流:O流(输出流) 1.2、 流:I流(输入流) 1.3、 流与缓冲区 2.1 非格式化输入/输出 2.2 非格式化输出 2.3 非格式化输入 2.4 格式化输入/输出 4.2 C++中进行文件操作的一般步骤 4.2 C++中进行文件操作的一般步骤 4.2 C++中进行文件操作的一般步骤 4.3 C++中进行文件操作(范例) 小 结 武汉大学 UNIT TWELVE 武汉大学 UNIT TWELVE E-MAIL:nadinetan@163.com 1、C++语言的流类库及其基本结构 C++中的流: 程序的输入和输出就是进出文件、终端、打印机等设备的数据字节序列; 指连接程序和文件、设备,并且将数据导入或者导出程序的管道。 房子:程序 水池:显示器、文件、打印机等 水管:以写模式打开的流 阀门:调用写文件的库函数时,阀门打开 Output流:输出流,从程序输出数据到文件、设备等 水:数据字节系列 房子:程序 水池: 文件、键盘等 水管:以读模式打开的流 阀门:调用读文件的库函数时,阀门打开 Input流:输入流,从文件、设备输入数据到程序。 水:数据字节系列 缓冲区:流的一部分,暂存数据的内存空间;包括输入缓冲区、输出缓冲区。 数据流出缓冲区 数据流入缓冲区 已经处理的数据 未处理的数据 流缓冲区 流指针:表示缓冲区中的当前位置 缓冲区中剩余数据部分 1.4 C++中流的概念 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流动的方向不同,构成输入/输出流,即I/O流。 在C++程序中,数据可以从键盘流入到程序,也可以从程序流向屏幕或磁盘文件。 从流中获取数据的操作称为提取操作。 向流中添加数据的操作称为插入操作。 数据的输入/输出就是通过I/O流来实现的。 1.5 C++中I/O流库 C++编译系统提供的I/O流库含有两个平行基类:streambuf和ios,所有的流类都是由它们派生出来的。 ios类有4个直接派生类,即输入流类istream、输出流类ostream、文件流类fstreambase、串流类strstreambase,这4种流作为流库中的基本流类。 标准I/O流预定义了4个流类对象:cin,cout,cerr,clog。 cin:istream流类的一个对象,处理标准输入 cout,cerr,clog:ostream流类的对象。cout处理标准输出,cerr和clog处理标准出错信息。不同在于: cerr的输出不带缓冲,因而发送给它的任何内容都立即输出; clog的输出带缓冲,只有当缓冲区满时才输出,也可以通过刷新流的方式强迫刷新缓冲区。 1.5 C++中I/O流库 I/O流库中各个类之间的层次关系 2、预定义的输入和输出 非格式化输入/输出就是按系统预定义的格式进行的输入/输出。 按默认约定,每个C++程序都能使用标准I/O流,如标准输入、标准输出。 cin用来处理标准输入,即键盘输入; cout用来处理标准输出,即屏幕输出。它们被定义在iostream.h头文件中。 在使用cout和cin前,要用编译预处理命令将所使用的头文件包含到源程序中,其格式如下: #include iostream “”是预定义的插入运算符,作用在流类对象cout上,实现默认格式的屏幕输出。使用cout输出表达式值到屏幕上的格式如下: coutE1E2…Em; 其中,E1、E2、…、Em为均为表达式。功能是计算各表达式的值,并将结果输出到屏幕当前光标位置处。 cout是ostream流类的对象,它在iostream.h头文件中作为全局对象定义: ostream cout(stdout); 其中,stdout表示标准输出设备名(屏幕)。 “”是预定义的提取运算符,作用在流类对象cin上,实现默认格式的键盘输入。使用cin将数据输入到变量的格式如下: cinV1V2…Vn; 其中,V1、V2、…、Vn都是变量。功能是暂停执行程序,等待用户从键盘输入数据,各数据间用空格或Tab键分隔,输入数据类型要与接受变量类型一致,输完后,按回车键结束。 cin是istream流类的对象,它在iostream.h头文件中作为全局对象定义: istream cin(stdin); 其中,std
显示全部
相似文档