一.流的概念
1.输入/输出是一种基本的数据传递操作,它可以理解为字符序列在计算机
内存与外设之间的流动。
2.数据从一个对象到另一个对象的流动抽象为流,实现设备之间交换信息的类称为流类。
3.按面向对象方法组织的多个流类及其类层次集合构成了I/O流类库,简称为流库。 流库中的每一个流类都定义了一种设备之间的信息交换方式,按信息流
动方向的不同,可以分为输入/输出流。
与输入设备(如键盘)相联系的流称为输入流。
与输出设备(如屏幕)相联系的流称为输出流。
与输入输出设备相联系的流称为输入输出流。
二.流的种类
1.文本流是一串ASCII字符。
2.二进制流是由一串二进制数组成,这种流与设备上的输入输出一一对应,在数据传送时不需作任何变换。
3.缓冲流与非缓冲流
1)系统在主存中开辟的用于临时存放输入/输出流信息的内存区称缓冲区。
2)输入/输出流也相应的分成缓冲流与非缓冲流。
3)对于非缓冲流,一旦数据送入流中,立即进行处理。
对于缓冲流,只有当缓冲区满时,或当前送入的数据为新的一行字符时,系统才对流中的数据进行处理(称为刷新)。
三.流类库
(一)streambuf类
为输入输出操作在物理设备一方的接口,负责低层操作。
(二)ios类
为输入输出操作在用户一方的接口,负责高层操作。
四.头文件
1.iostream
包含操作所有输入/输出流所需的基本信息含有cin、cout、cerr、clog对象,提供无格式和格式化的I/O。
2.iomanip
包含格式化I/O操纵算子,用于指定数据输入
输出的格式
3.fstream
处理文件信息,包括建立文件,读/写文件的各种操作接口
五.标准流
(1) cin : istream 类的对象,通常连向键盘,可以重定向
(2) cout : ostream 类的对象,通常连向显示器,可以重定向
(3) cerr : ostream 类的对象,连向显示器。不能重定向
(4) clog : ostream 类的对象,连向打印机。不能重定向
六.输入流操作
istream类的公有成员函数
#include<iostream>
using namespace std;
int main()
{
char c;