文件操作-缓冲区

今天我们简单谈一谈缓冲区,
定义:缓冲区(buffer),它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的。
关于缓冲可以大致分为:无缓冲、行缓冲、全缓冲。
1.首先我们谈谈行缓冲(比如数据向显示器显示)
顾名思义,行缓冲就是一行数据输出结束进行显示。
举个例子:
这里由于vs下的效果不明显,所以我们使用一下linux系统
在这里插入图片描述
这个例子,可以看出是先显示hello,coutinho再睡眠,因为我们加了\n,所以这个也符合我们的行缓冲的定义,由于已经换行,所以就显示出来该字符串,下面我们再来看看
在这里插入图片描述
这里我们可以看到,我们在程序中并没有加\n,所以他不满足行缓冲,但是由于程序跑完了,最终退出时,所以显示了字符串(这里说一下,对于行缓冲,不单单是一行结束才可以显示,也可以通过强制让其刷新,最终显示,这里的程序退出就是一种方式)关于其他方式,大家可以自行研究,就比如c自带的标准输入、输出函数。
简单举个例子
在这里插入图片描述
2.关于行缓冲我们就提到这里,下面我们谈谈全缓冲,这里全缓冲主要是针对硬盘的缓冲输入输出,我们举个例子
全缓冲可以再vs下看,效果也是比较明显的(这里我们使用调试的方法,比较明显)
在这里插入图片描述
构建一个新的txt文件,内容为0kb,这是显然的
在这里插入图片描述
当我们写入数据后,文件内容大小还是0kb
在这里插入图片描述
而当我们(关闭文件)程序退出后,文件的内容大小变为1kb,这很明显就说明了全缓冲的概念(程序装满缓冲区进行显示,或者程序退出进行显示)。
今天,较为简单明了的介绍了全缓冲以及行缓冲,较为简单,关于无缓冲大家顾名思义也可以直到其意思,在这里就不谈了。
关于文件的操作还有很多,在后边我会继续谈。拜~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值