一、什么是流
与 C 类似,C++ 不具有内置输入/输出功能。 但是,所有 C++ 编译器都捆绑了一个系统的、面向对象的 I/O 包,称为 iostream
类。 该流是 iostream
类中的核心概念。 可将流对象视为一个智能文件,此文件充当字节的源和目标。 流的特征由其类和自定义的插入和提取运算符确定。
通过设备驱动程序,磁盘操作系统可将键盘、屏幕、打印机和通信端口作为扩展文件来处理。 iostream
类与这些扩展文件进行交互。 内置类支持使用与磁盘 I/O 相同的语法写入内存或从中读取,从而可以轻松派生流类。
二、iostream
类详解
ostream
:- 是 C++ 标准库中所有输出流的基类。
- 提供了基本的输出操作,如插入运算符
<<
,可以输出各种基本数据类型和自定义类型的数据。 - 通常用于向控制台、文件或其他输出设备进行输出。
ofstream
:- 专门用于文件输出的流类。
- 从
ostream
派生而来,继承了ostream
的输出功能,并添加了文件操作的特定功能。 - 可以打开文件、写入数据到文件,并在适当的时候关闭文件。
ostringstream
:- 用于内存中的字符串输出。
- 将数据输出到一个可增长的字符串缓冲区中,而不是直接输出到控制台或文件。
- 常用于构建字符串,例如将多个数据项组合成一个字符串表示。