第11章__C 的IO流库

第11章 C 的I/O流库

本章内容

流概述、屏幕输出、键盘输入\r格式化输入和输出\r字符串流\r磁盘文件的输入和输出 *

流的概念

所谓流是指数据从一个位置流向另一个位置。是用于输入输出的一组类。\r流的类型:文本流和二进制流。\r 输出流与输入流。\r说明:\r“流”看成一个逻辑设备。\r“流”是临时的。\r提取操作和插入操作。

文件和缓存的概念

文件\r是对具体设备的抽象。\r如,磁盘文件和显示器都是文件。\r所有流的行为对程序员来讲都是相同的。\r说明:\r流统一了对相关文件的操作。\r缓冲\r缓冲区是指系统在内存中开辟的一块区域,临时存放信息. \r缓冲流:缓冲区满或当前输入流中有新的行符时,系统才对流进行刷新。\r非缓冲流:所有输入流中的数据将被外部设备立即处理。

流与文件、缓冲的关系示意图

内存

(程序)

显示器\r键盘\r磁盘\r等设备

(文件)

(流)

插入

提取

缓冲流

C 流类的基本结构

iostream.h

流类的继承体系

ios

虚基类,提供一些关于对流状态进行设置的功能,有一个指向streambuf类的指针

管理一个流的缓冲区。为它的派生类提供缓冲支持。

提供从流中提取数据的操作的成员函数

提供从流中插入数据的操作成员函数

综合ostream和istream类的行为,支持对一个流同时进行输入输出操作

文件的打开和关闭是通过fstream类的成员函数open和close来实现的

C 中有4个预定义的流对象

一、标准输出

标准输出主要有三种形式:\r预定义的插入符\r利用cout的put()成员函数\r利用cout的write()成员函数

1.预定义的插入符

“<<”插入运算符,向输出流中插入一个字符序列。重载在ostream类中定义,cout是数据的目的地。\r功能:\r 数据输出到计算机屏幕。 \r重载格式: ostream