Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

10.2 I/O流模型

C++标准库提供了两种数据类型,istream用于处理输入流,ostream用于处理输出流。我们已经使用过标准输入流cin和标准输出流cout,因此我们已经了解了应该如何使用标准库中的这部分特性(通常称之为iostream库)。

一个ostream可以实现:

·将不同类型的值转换为字符序列。

·将这些字符发送到“某处”(如控制台、文件、主存或者另外一台计算机)。

我们可以用下图来表示ostream:

Buffer这一数据结构用于保存提交给ostream的数据,并通过它与操作系统通信。如果在写入ostream和字符出现在目的设备之间注意到一段“延迟”,这通常是因为字符还在缓冲区之中。缓冲技术是提高性能的重要技术,而处理大量数据时性能是很重要的。

一个istream可以实现:

·将字符序列转换为不同类型的值。

·从某处(如控制台、文件、主存或另外一台计算机)获取字符。

我们可以用下图来表示istream:

与ostream一样,istream也使用一个缓冲区与操作系统通信。istream的缓冲区在很多情况下对用户是可见的。当使用一个与键盘相关联的istream时,键入的内容都被留在缓冲区中,直至按下回车键为止(回车/换行),也可以使用清除键(退格)来“改变你的主意”(直至按下回车键为止)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉

Publisher Resources

ISBN: 9787111562252