首页 理论教育 C++标准I/O库简介–零基础C++从入门到精通

C++标准I/O库简介–零基础C++从入门到精通

时间:2023-08-20 理论教育 版权反馈
【摘要】:标准I/O库是标准库的子库,其中定义了一系列相互关联的类,用来支持文件、显示窗口甚至是字符串的读写。为了利用这些共性并将硬件的特殊性封装起来,标准I/O库使用了面向对象的编程思想,将I/O类型组成一个继承体系结构,如图10.1.1所示:图10.1.1标准I/O库继承体系结构这个结构图看似复杂,其实其基础就是两个分别代表输入和输出的istream和ostream类。

C++标准I/O库简介–零基础C++从入门到精通

标准I/O库是标准库的子库,其中定义了一系列相互关联的类,用来支持文件、显示窗口甚至是字符串的读写。这些I/O类大都通过输入输出操作符“>>”和“<<”实现了基本类型的读写,而我们在设计类的时候也可以通过重载输入输出操作符来实现自定义类的格式化输入输出。

标准I/O库支持向磁盘文件的读写,命令行窗口的读写等涉及了与硬件截然不同的读写行为,但是它们的本质都是将一定的数据传输过去,用输入输出操作符来抽象地表达这种数据流向。为了利用这些共性并将硬件的特殊性封装起来,标准I/O库使用了面向对象的编程思想,将I/O类型组成一个继承体系结构,如图10.1.1所示:

图10.1.1 标准I/O库继承体系结构(www.xing528.com)

这个结构图看似复杂,其实其基础就是两个分别代表输入和输出的istream和ostream类。iostream类利用多重继承同时继承了输入和输出的行为,而其余则分别是具体的文件和字符串读写的类。

这些类定义在3个头文件中,头文件iostream中定义了istream、ostream和iostream,它们是其他类的基础,而具体的标准输入输出的cin、cout等也是这些类型的实例化对象。在之前的示例中我们可能对“cout<<”这种表示方法习以为常了,但是仔细想想这其实就是重载的操作符在cout对象上的操作,cout在这里抽象地表示了屏幕输出这一复杂的机制。

类似地,头文件fstream里定义了ifstream、ofstream和fstream,用来处理磁盘文件的读写。fstream支持读、写两种操作,而其他两个只支持一种。头文件sstream中则定义了istringstream、ostringstream和stringstream共3种进行字符串之间输入输出操作的类。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈