gpt4 book ai didi

c - 流和缓冲区之间的关系?

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:12 26 4
gpt4 key购买 nike

我是一个新手程序员,你能帮我想象一下流是什么吗,它是一个固定的字节数组,用于将数据从一个文件传输到 Y?这里的 Y 是什么,缓冲区还是其他?buffer和stream有什么关系?

最佳答案

流是数据的源(输入流)或汇(输出流),及时可用(或提供)(而不是一次全部)。

缓冲区是一个数组(一 block 内存),用于临时存储数据。输入缓冲区通常由操作系统从输入流中填充;输出缓冲区(一旦被程序员填充)被操作系统消耗。

想象一下,您想要在浴缸中注满水。您可以从水箱或公共(public)自来水厂等可以通过水龙头输送的水源开始。您将水桶放在水龙头下并打开它。水桶装满后,将其倒入浴缸中,然后放回水龙头下。你重复这个直到你的浴缸装满。

例如,加载文件的工作方式几乎相同。你有一个数据源(磁盘上的文件);您打开一个输入流(一种编程结构,通常可以像磁盘读取数据一样快地为您提供数据)。您分配一个缓冲区(一个小内存区域)并告诉系统从流中填充它。当它已满时,将其附加到为文件内容保留的大块已分配内存中,然后再次填充缓冲区。读取整个文件后,关闭流。

关于c - 流和缓冲区之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56353106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com