C++课件第10章:流类库和输入输出
- 格式:pptx
- 大小:342.19 KB
- 文档页数:59
C++:流类库与输⼊输出7.2.1 C++的输⼊输出流ios:流基类(抽象类)istream:通⽤输⼊流类和其他输⼊流的基类ostream:通⽤输出流类和其他输出类的基类iostream:通⽤输⼊输出流类和其他输⼊输出流类的基类(以下的派⽣类对象有cin、cout、cerr、clog)ifstream:输⼊⽂件流类ofstream:输出⽂件流类fstream:输⼊输出⽂件流istrstream:输⼊字符串流类ostrstream:输出字符串流类strstream:输⼊输出字符串类iostream_withassign: 通⽤输⼊输出流类和其他输⼊输出流类iostream的的派⽣类7.2.2 预定义的流对象C++中包含⼏个预定义的流对象,它们是标准输⼊流对象cin、标准输出流对象cout、⾮缓冲型的标准出错流对象ceer、缓冲型的标准出错流对象clogcin是istream的派⽣类istream_withassign的对象,它与标准输⼊设备(通常是键盘)相联系。
cout是ostream的派⽣类ostream_withassign的对象,它与标准输出设备(通常是显⽰器)相联系。
ceer是ostream的派⽣类ostream_withassign的对象,它与标准错误输⼊设备(通常是显⽰器)相联系。
clog是ostream的派⽣类ostream_withassign的对象,它与标准错误输⼊设备(通常是显⽰器)相联系。
由于istream和ostream类都在头⽂件iostream中声明的,因此只要在程序中包含头⽂件iostream.h,C++程序开始时这四个标准流对象的构造函数都被⾃动调⽤。
7.2.3 输⼊输出流的成员函数(1)put函数put函数⽤于输出⼀个字符格式:cout.put(char ch)例如:cout.put('A')===cout.put(65)===cout.put(25+40)(2)get函数get函数的功能与提取运算符>>类似,主要不同之处是get函数在读⼊数据时可以包括空⽩字符,⽽后者不可以。
流类库与输入/输出。
本章主要内容:a)I/O流的概念b)预定义的标准流与提取和插入运算符c)使用I/O成员函数输入流d)文件流2.概述a)输入/输出( input/output ) 是指程序与计算机的外部设备之间进行信息交换。
b)输入操作指从指定设备收取一个字符序列。
c)输出操作将一个对象转换为一个字符序列,输出到某一个设备;d)输入输出操作可以看成是字符序列在源和目的之间的流动。
将执行这个输入/输出操作的类体系称为流类,提供这个流类实现的系统称为流类库。
e)在C++中,没有专门的输入/输出语句,为了方便用户灵活地完成输入/输出,C+提供了功能强大的输入/输出流类库。
f)C++的I/O系统为了向程序员提供一个统一的接口,使程序的设计尽可能地与所访问的具体设备无关,在程序员与被使用的设备之间提供了一个抽象的概念——流。
g)读操作在流数据抽象中被称为(从流中)提取>>,h)写操作被称为(向流中)插入<<。
i)C++语言支持的外部设备是各种各样的,它将各设备都转换成一个称为流的逻辑设备,由流来完成对不同设备的具体操作。
对程序员而言,所有流的行为是一样的,所以一个用来进行磁盘文件写入操作的函数,也可以用来向显示器写信息。
3.使用流的优点:(与printf,scanf比较)a)(1)可以用其严格的类型检查机制减少因使用不当引起的程序错误;b)(2)流是面向对象的,可以利用类的继承性和多态性,给用户提供统一的接口,实现更多的功能。
4.C++中的流类体系在头文件“iostream.h”中作了说明。
a)*类ios是类istream和类ostream的虚基类;b)*streambuf不是ios类的派生类,类ios中有一个指c)针成员指向类streambuf的一个对象。
d)*类streambuf是用来管理一个流的缓冲区。
e)*类iostream是类istream和类ostream的公有派生,f)从而通过#include “iostream.h”可以完成输入操作和输出操作。