C++:什么是流

Moh*_*bil 46 c++ fstream stream filestream

我听说过流,更具体地说是文件流.

那他们是什么?

它是在记忆中有位置的东西吗?

它是包含数据的东西吗?

它只是文件和对象之间的连接吗?

任何帮助,将不胜感激

Jon*_*ood 46

术语流是一种构造的抽象,允许您发送或接收未知数量的字节.这个比喻是一股水流.您可以随时获取数据,也可以根据需要发送数据.将其与例如具有固定的已知长度的阵列进行对比.

使用流的示例包括读取和写入文件,通过外部连接接收或发送数据.但是,术语是通用的,并没有说明具体的实现.

  • 我想很多教授的人都发现技术细节最好用技术术语来解释.隐喻并不总是合适的,可能会鼓励错误的结论. (3认同)
  • @KerrekSB:术语“流”本身就是一个隐喻。所以在这种情况下解释这个比喻似乎很恰当。 (3认同)
  • 所以它就像一条从源头到目的地的"河流".溪流就是河流 (2认同)

Die*_*ühl 9

IOStream是一个前端接口(std::istream,std::ostream),用于定义输入和输出函数.流还存储格式化选项,例如,用于整数输出的基础,并保存std::locale用于所有类型的定制的对象.它们最重要的组件是指向a的指针,std::streambuf它定义了如何访问字符序列,例如文件,字符串,屏幕上的区域等.特别是对于文件和字符串,提供了特殊的流缓冲区,并且派生自提供了流基类,以便于创建.描述IOStreams库的整个功能几乎可以填满整本书:在C++ 2003中,大约一半的库部分专门用于流相关功能.


小智 6

Stream是线性队列,它将文件连接到程序并在两个方向上维护数据流.这里的源是任何文件,I/O设备,硬盘,CD/DVD等.

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

文本流:它是一行字符排列,每行以新行(unix)结尾.

二进制流:它是在计算机主存储器内部编码的数据,没有任何修改.