C ++:什么是流(C++: What is a stream)

2019-07-31 05:27发布

我一直听到有关流,更具体的文件流。

那么它们是什么?

有什么事情在内存中的位置?

它是什么,它包含的数据吗?

难道仅仅是一个文件和对象之间的连接?

任何帮助,将不胜感激

Answer 1:

术语流是一种结构,它允许您发送或接收未知的字节数的抽象。 这个比喻是水流。 你拿数据,因为它涉及,或根据需要发送。 与此不同,阵列,例如,其具有固定的,已知的长度。

其中流被使用的实例包括读取和写入文件,接收或跨越外部连接发送数据。 然而,长期是通用的,任何关于具体的实施如是说。



Answer 2:

输入输出流是一个前端接口( std::istreamstd::ostream )用于定义输入和输出功能。 该流还可以存储格式选项,例如,使用整数输出和保持基本std::locale对象为所有类型的定制。 他们最重要的组成部分是一个指针std::streambuf ,它定义了如何访问字符,例如,一个文件,一个字符串,在屏幕上的面积等的序列具体文件和提供特殊的流缓冲和字符串提供了用于创建更容易从流基类派生的类。 描述Iostreams库的整个设施几乎可以填满整个书:在C ++ 2003的一半左右库部分则专门流相关的功能。



Answer 3:

流是一个文件连接到程序和维护数据的两个方向上的流动线性队列。 这里的来源是任何文件,I / O设备,硬盘,CD / DVD等。

基本上流是如果两个类型1.Text流2.Binary流

文本流:它是字符的序列在线路和由新线(UNIX)封端的每行排列。

二进制流:这是数据,因为它是在电脑主内存的内部编码,无需任何修改。



Answer 4:

文件系统被设计为具有各种各样的设备,包括终端,磁盘驱动器,磁带驱动器等。尽管每个设备不同的是,文件系统将每个成称为流的逻辑设备的工作。 流是与设备无关的,从而同样的功能可以被用来写入磁盘文件和一个磁带文件。 在更多的技术术语流提供程序员和实际设备之间的抽象被使用。



文章来源: C++: What is a stream