第19章 再谈输入与输出
输入/输出在之前的章节中已经被频繁使用过。但是cout和cin在程序中并不是蓝色的关键字,严格意义上不能称为“语句”,因此没有列在附录A中。那么cout和cin究竟是什么呢?本章将继续介绍输入/输出,并且介绍一些常用的输入/输出技巧。
本章的知识点有:
- 标准输入/输出流
- 输入/输出的重定向
- 文件输入/输出流
- 输入/输出技巧
- 插入操作符的重载
19.1 cout和cin是什么
cout和cin并不是语句,而是输入输出流类的对象。常用的iostream头文件中,将cin声明并定义为输入流istream类的一个对象,将cout声明并定义为输出流ostream类的一个对象。cin对象的默认输入设备是键盘,cout的默认输出设备是屏幕。那么什么是流(Stream)呢?
简单地说,数据如同流水线上的物品在计算机中传输。要读取流中的数据(把输入流中的数据读到内存中),就如同取下流水线上的物品,这是抽取;要向流中写入数据(把数据放到输出流中输出),就如同往流水线上放东西,这是插入。
在istream类和ostream类中,声明并定义了各种抽取操作符和插入操作符的重载,用以输出各种数据类型的常量或变量。因此,如果有一个整型变量a,那么“cout<<a;”中的cout是ostream对象,<<是操作符,a则是该操作符对应的操作数。
19.2 输入/输出的重定向
在调试程
本文详细探讨了C++中的输入输出,包括cout和cin的本质,输入/输出的重定向,文件的输入与输出,以及更高级的输入输出技巧。重点介绍了输入重定向如何从文件读取数据,输出重定向如何将结果写入文件,以及cerr的特殊性质。此外,还讲解了文件输入流对象的使用,getline成员函数用于整行输入,eof和gcount成员函数分别用于判断文件末尾和统计读取字符数,以及设置输出域宽的width成员函数。最后,讨论了插入操作符的重载,展示了如何通过重载使得自定义类型能够方便地与cout配合使用。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



