什么是缓冲区?

代码研究所 2012-11-04 10:58:21
endl是一个特殊值,称为操纵符,将它写入输入流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。

在书上看到这么一段,想知道什么是缓冲区。
...全文
293 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
proorck6 2012-11-07
  • 打赏
  • 举报
回复
缓冲区是一段内存,用来临时储存数据。在程序中常用buf表示。 开辟缓冲区的目的是方便处理数据,如果是磁盘文件或网络,还有提速的效果。
armsword 2012-11-07
  • 打赏
  • 举报
回复
我想到了内存数据库。
wumn29 2012-11-07
  • 打赏
  • 举报
回复
一段内存空间而已
赵4老师 2012-11-07
  • 打赏
  • 举报
回复
一段内存而已
wizard_tiger 2012-11-06
  • 打赏
  • 举报
回复
endl输出换行符的同时清空缓冲区,可以使后面的输入不至于误输入缓冲区的字符。
JiMoKuangXiangQu 2012-11-04
  • 打赏
  • 举报
回复
引用 2 楼 YuHoWe_FC 的回复:
引用 1 楼 JiMoKuangXiangQu 的回复: 文件呢,是磁盘上的存储,但是由于对磁盘的访问比较低效,为了提高效率,在对文件进行读写时,就在内存里面开辟一块空间,然后在读写文件的时候,先把内容缓冲到内存(读操作),或者先写到内存(写操作),只有等到缓冲空(读操作),或者满的时候(写操作),才从磁盘读文件或者写文件.这样提高了效率. 当然,也有相应的接口可以让用户强制更新缓冲,不一定等……
endl输出换行符就是用户强制更新缓冲的一种方式:强制将缓冲内容输出到stdout(如果没有重定向的话),即vs用的那个黑窗口.
Joseph_1118 2012-11-04
  • 打赏
  • 举报
回复
这里是内存和串口。
引用 2 楼 YuHoWe_FC 的回复:
引用 1 楼 JiMoKuangXiangQu 的回复:文件呢,是磁盘上的存储,但是由于对磁盘的访问比较低效,为了提高效率,在对文件进行读写时,就在内存里面开辟一块空间,然后在读写文件的时候,先把内容缓冲到内存(读操作),或者先写到内存(写操作),只有等到缓冲空(读操作),或者满的时候(写操作),才从磁盘读文件或者写文件.这样提高了效率. 当然,也有相应的接口可以让用户……
Joseph_1118 2012-11-04
  • 打赏
  • 举报
回复
【高速器件】------缓存--------【低速器件】 访问一次内存是纳秒级,访问一次磁盘则是毫秒级。 读磁盘数据时,你可以一次读4k到内存,这4k处理完后再这样搞,这就是缓存。
代码研究所 2012-11-04
  • 打赏
  • 举报
回复
引用 1 楼 JiMoKuangXiangQu 的回复:
文件呢,是磁盘上的存储,但是由于对磁盘的访问比较低效,为了提高效率,在对文件进行读写时,就在内存里面开辟一块空间,然后在读写文件的时候,先把内容缓冲到内存(读操作),或者先写到内存(写操作),只有等到缓冲空(读操作),或者满的时候(写操作),才从磁盘读文件或者写文件.这样提高了效率. 当然,也有相应的接口可以让用户强制更新缓冲,不一定等到缓冲满或者空的时候. ……
那么endl是用来输出一个换行符,与读写文件没有关系吧,还有刷新缓冲区有什么优点吗?
JiMoKuangXiangQu 2012-11-04
  • 打赏
  • 举报
回复
文件呢,是磁盘上的存储,但是由于对磁盘的访问比较低效,为了提高效率,在对文件进行读写时,就在内存里面开辟一块空间,然后在读写文件的时候,先把内容缓冲到内存(读操作),或者先写到内存(写操作),只有等到缓冲空(读操作),或者满的时候(写操作),才从磁盘读文件或者写文件.这样提高了效率. 当然,也有相应的接口可以让用户强制更新缓冲,不一定等到缓冲满或者空的时候.

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧