第9章流类库与输入/输出 H 第9章流类库与输入输出 91输入输出标准流类 9,2文件流类 93串流类 9.4控制符 BACK
第9章 流类库与输入/输出 第9章 流类库与输入/输出 9.1 输入/输出标准流类 9.2 文件流类 9.3 串流类 9.4 控制符
第9章流类库与输入/输出 H 91输入输出标准流类 91.1输入/输出流的概念 就像C语言一样,C++语言中也没有输入输出语句。 C++的IO是以字节流的形式实现的,每一个C++编译 系统都带有一个面向对象的输入/输出软件包,这就是 I/O流类库。其中,流是IO流类的中心概念。到目前为 止,我们一直在使用它
第9章 流类库与输入/输出 9.1 输入/输出标准流类 9.1.1 输入/输出流的概念 就像C语言一样,C++语言中也没有输入/输出语句。 C++的I/O是以字节流的形式实现的,每一个C++编译 系统都带有一个面向对象的输入/输出软件包,这就是 I/O流类库。其中,流是I/O流类的中心概念。到目前为 止,我们一直在使用它
第9章流类库与输入/输出 H 所谓流,是指数据从一个对象流向另一个对象。 在C艹程序中,数据可以从键盘流入到程序中,也可 以从程序中流向屏幕或磁盘文件,把数据的流动抽象 为“流”。流在使用前要被建立,使用后要被删除, 还要使用一些特定的操作从流中获取数据或向流中添 加数据。从流中获取数据的操作称为提取操作,向流 中添加数据的操作称为插入操作
第9章 流类库与输入/输出 所谓流,是指数据从一个对象流向另一个对象。 在C++程序中,数据可以从键盘流入到程序中,也可 以从程序中流向屏幕或磁盘文件,把数据的流动抽象 为“流” 。流在使用前要被建立,使用后要被删除, 还要使用一些特定的操作从流中获取数据或向流中添 加数据。从流中获取数据的操作称为提取操作,向流 中添加数据的操作称为插入操作
第9章流类库与输入/输出 H 流实际上就是一个字节序列。在输入操作中,字 节从输入设备(如键盘、磁盘、网络连接等)流向内存; 在输出操作中,字节从内存流向输出设备(如显示器、 打印机、磁盘、网络连接等)。如图9-1所示 在C艹语言中,针对流的特点,提供了如图9-2所 示的层次结构来描述流的行为,并给出了IO流类库的 操作
第9章 流类库与输入/输出 流实际上就是一个字节序列。在输入操作中,字 节从输入设备(如键盘、磁盘、网络连接等)流向内存; 在输出操作中,字节从内存流向输出设备(如显示器、 打印机、磁盘、网络连接等)。如图9-1所示。 在C++语言中,针对流的特点,提供了如图9-2所 示的层次结构来描述流的行为,并给出了I/O流类库的 操作
第9章流类库与输入/输出 H 内存变量 输出 输入 输出设备· 图9-1流的输入/输出
第9章 流类库与输入/输出
第9章流类库与输入/输出 H IoS Istream istrstream Istream withassign iostream fstream fstream ostream strstream stdiostream ofstream ostream withassign stdiobuf 图9-2输入/输出流类层次图
第9章 流类库与输入/输出 图9-2 输入/输出流类层次图
第9章流类库与输入/输出 H 表9-1IO流类列表 类名 说明 包含文件 抽象流基类 10s 流基类 iostream. h 标准流类 iostream 通用输入/输出流类和其它输入输出流的基类 iostream . h Istream 通用输入流类和其它输入流的基类 iostream. h ostream 通用输出流类和其它输出流的基类 iostream. h Istream_withassign cin的输入流类 iostream. h ostream_withassign cout、cer和clog的输出流类 iostream. h 文件流类 fstream 输入/输出文件流类 fstream. h ifstream 输入文件流类 fstream. h ofstream 输出文件流类 fstream. h 串流类 strstream 输入/输出字符串流类 strstrea h Istrstream 输入字符串流类 strstrea h ostrstream 输出字符串流类 strstrea h stdiostream 标准IO文件的输入/输出类 stdiostr h
第9章 流类库与输入/输出 表9-1 I/O流类列表
第9章流类库与输入/输出 H 91.2输入/输出标准流类 1.标准流的设备名 由表9-1可见,IO流的标准头文件是 iostream h。其 中, ostream类通过其派生类 ostream withassign支持以 下预先定义的流对象: cout:标准输出。默认设备为屏幕。 cer:标准错误输出。没有缓冲,发送给它的内容 立即被输出,默认设备为屏幕
第9章 流类库与输入/输出 9.1.2 输入/输出标准流类 1.标准流的设备名 由表9-1可见,I/O流的标准头文件是iostream.h。其 中,ostream类通过其派生类ostream_withassign支持以 下预先定义的流对象: cout:标准输出。默认设备为屏幕。 cerr:标准错误输出。没有缓冲,发送给它的内容 立即被输出,默认设备为屏幕
第9章流类库与输入/输出 H clog:标准错误输出。有缓冲,当缓冲区满时被输 出,默认设备为打印机 而 Istream类通过其派生类 istream withassigr支持预 先定义的对象 cin:标准输入。默认设备为键盘
第9章 流类库与输入/输出 clog:标准错误输出。有缓冲,当缓冲区满时被输 出,默认设备为打印机。 而istream类通过其派生类istream_withassign支持预 先定义的对象。 cin:标准输入。默认设备为键盘
第9章流类库与输入/输出 H 2.原理 cout是 ostream类的全局对象,它在头文件 iostream. h中的定义如下: ostream cout( stdout);∥这里, stdout作为该对象构 造时的参数对应每种基本数据类型, ostream类都存在 友元,它们都在 iostream. h中声明。例如: ostream& operator<<(int n ostream& operator<<(float f) ostream& operator<<(const char psz)
第9章 流类库与输入/输出 2.原理 cout 是 ostream 类 的 全 局 对 象 , 它 在 头 文 件 iostream.h中的定义如下: ostream cout(stdout); //这里,stdout作为该对象构 造时的参数对应每种基本数据类型,ostream类都存在 友元,它们都在iostream.h中声明。例如: ostream& operator<<(int n); ostream& operator<<(float f); ostream& operator<<(const char*psz); //