提问人:Mohamed Ahmed Nabil 提问时间:8/27/2012 最后编辑:Peter MortensenMohamed Ahmed Nabil 更新时间:1/2/2021 访问量:40221
什么是 C++ 中的流?
What is a stream in C++?
答:
60赞
Jonathan Wood
8/28/2012
#1
术语流是构造的抽象,允许您发送或接收未知数量的字节。这个比喻是一股水流。您可以随时获取数据,或根据需要发送数据。例如,将其与具有固定已知长度的数组进行对比。
使用流的示例包括读取和写入文件、通过外部连接接收或发送数据。但是,术语流是通用的,没有说明具体的实现。
评论
4赞
Mohamed Ahmed Nabil
8/28/2012
因此,它就像一条从源头流向目的地的“河流”。溪流就是河流本身
1赞
Mohamed Ahmed Nabil
8/28/2012
因此,我可以将流视为将(例如)数据从控制台带到变量的东西
1赞
Jonathan Wood
8/28/2012
什么是“卡在里面”?流的一般概念没有定义可以传输哪种数据或如何传输数据。如果你的意思是卡在里面,因为它不会随着流而流动,那么这听起来像是一个错误。我没有足够的信息可以说。
3赞
Kerrek SB
8/28/2012
我想很多教书的人都发现,技术细节最好用技术术语来解释。隐喻并不总是合适的,很可能会鼓励错误的结论。
4赞
Jonathan Wood
7/17/2015
@KerrekSB:“流”一词本身就是一个隐喻。因此,在这种情况下解释这个比喻似乎很贴切。
12赞
Dietmar Kühl
8/28/2012
#2
IOStreams 是用于定义输入和输出功能的前端接口 (, )。这些流还存储格式选项,例如,用于整数输出的基数,并保存用于所有类型自定义的对象。它们最重要的组件是指向 a 的指针,它定义了如何访问字符序列,例如文件、字符串、屏幕上的区域等。特别是对于文件和字符串,提供了特殊的流缓冲区,并提供了从流基类派生的类,以便于创建。描述IOSstreams库的整个功能几乎可以填满整本书:在C++ 2003中,大约一半的库部分专门用于与流相关的功能。std::istream
std::ostream
std::locale
std::streambuf
4赞
Farsan Rashid
7/4/2015
#3
文件系统旨在与各种设备配合使用,包括终端、磁盘驱动器、磁带驱动器等。即使每个设备都不同,文件系统也会将每个设备转换为称为流的逻辑设备。流与设备无关,因此可以使用相同的功能来写入磁盘文件和磁带文件。在更专业的术语中,流提供了编程器和实际使用设备之间的抽象。
9赞
Sandeep_black
1/27/2017
#4
Stream 是线性队列,它将文件连接到程序并保持双向数据流。这里的源是任何文件、I/O 设备、硬盘、CD/DVD 等。
基本上流是如果两个类型 1.文本流 2.二进制流
文本流 :它是一行排列的字符序列,每行以换行符(unix)结尾。
二进制流:它是在计算机主存储器中内部编码的数据,无需任何修改。
评论