欢迎来到天天文库
浏览记录
ID:40238249
大小:773.00 KB
页数:73页
时间:2019-07-28
《C++程序设计基础杨长兴 第10章 输入输出流》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计基础主编杨长兴中国水利水电出版社第10章输入输出流10.1C++的输入输出流10.2标准I/O10.3文件I/O10.4内存I/O10.1C++的输入输出流C++的输入输出是以流(字节序列)的形式进行的。流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存中,即输入流。10.1.1流的概念1.流与流类C++的输入输出流是由若干字节组成的字节序列,这些字节中的数据按一定的顺序从一个对象传送到另一个对象。从流中获取数据的操作称为提取操作,向流中
2、添加数据的操作称为插入操作。C++提供了一些供程序设计者使用的类,在这些类中封装了可以实现输入输出操作的函数,这些类统称为I/O流类。流是用流类定义的对象,如cin、cout2.流的分类C++的流主要有两种分类标准:(1)文本流和二进制流:按照数据的格式(2)缓冲流与非缓冲流:按是否使用缓冲区图10.1数据缓冲区引入缓冲的主要目的是为了提供系统的效率。3、流对象C++的输入输出流对象主要有以下三种:●对系统指定的标准设备的输入输出,即从键盘输入数据,输出到屏幕。这种输入输出称为标准的输入输出,简称
3、标准I/O。●以外存磁盘文件为对象进行的输入输出,称为文件的输入输出。●对内存指定的空间进行输入输出。通常指定一个字符数组作为存储空间,称为字符串输入输出。10.1.2C++流类库C++的流类库是用继承方法建立起来的输入输出类库,由支持标准输入输出操作的基类和支持特定种类的源和目标的输入输出操作的类组成。它具有两个平行的基类,所有其它的流类都是从它们直接或间接地派生出来的。streambuf类:提供对流缓冲区的低级操作ios类:提供对设备、文件的读写操作图10.2C++流类体系1.基本I/O流类库
4、(1)基类ios(2)输入类istream(3)输出类ostream(4)输入输出类iostream2.文件I/O流类库(1)ofstream类(2)ifstream类(3)fstream类3.字符串I/O流类库(1)ostrstream类(2)istrstream类(3)strstream类10.1.3与iostream类库有关的头文件(1)iostream:包含对输入输出流进行操作的基本信息,提供无格式支持的低级输入输出和有格式支持的高级输入输出操作功能。(2)fstream:包含管理文件输入
5、输出操作的有关信息。(3)strstrea:包含对内存中数据进行输入输出操作的有关信息。(4)stdiostream:包含进行C风格的输入输出操作的有关信息。(5)iomanip:包含输入输出流的格式控制符(manipulator)的有关信息。当一个程序中需要进行标准流输入输出操作时,则必须包含头文件iostream;当需要进行文件流输入输出操作时,则必须包含头文件fstream;当需要进行字符串流读/写操作时,则必须包含头文件strstream。10.1.4插入与提取运算符的重载“<<”和“>>
6、”本来在C++中被定义为左位移运算符和右位移运算符,由于在文件iostream.h中对它们进行了重载,使得它们能用作标准类型数据的输入输出运算符。从流中获取数据的操作称为提取操作,使用提取运算符“>>”;向流中添加数据的操作称为插入操作,使用插入运算符“<<”。10.2标准I/O标准I/O是指数据在输入输出设备之间进行传输,其数据传递过程包括以下四步:(1)格式化;(2)缓冲;(3)编码转换:数据的计算机内部表示和字符序列表示之间的双向转换。例如整数的内部表示为二进制,而外部显示要转换成由数字字符
7、和标志字符等符号组成的字符序列。(4)传递:访问(读/写)外部设备。流是一个抽象的概念,实际进行I/O操作时,必须将流与一种具体的物理设备联系起来。10.2.1标准输入输出流类在键盘和屏幕上的输入输出称为标准输入输出。标准流是不需要打开和关闭文件即可直接操作的流式文件。在头文件iostream中,除了类的定义之外,还包括四个对象的说明,它们被称为标准流或预定义流。cin:类istream的对象,用来处理标准输入,即键盘输入。cout:类ostream的对象,用来处理标准输出,即屏幕输出。cerr和
8、clog:类ostream的对象,与错误信息的标准输出设备(屏幕)相关联,前者为非缓冲方式,后者为缓冲方式。1.标准输入流cin是由输入类istream的派生类istream_withassign定义的对象,在缺省的情况下,cin所关联的外部设备为键盘,实现从键盘上输入数据。cin为缓冲流。2.标准输出流在C++流类体系中定义的标准输出流是cout、cerr、clog,是由输出类ostream的派生类ostream_withassign定义的对象,在缺省的情况下,cout、cerr
此文档下载收益归作者所有