当前位置:网站首页>文件IO-缓冲区
文件IO-缓冲区
2022-08-10 21:49:00 【干饭小白】
如何理解输入输出
1.站在文件的角度

2.站在内存的角度

我们写程序,是站在内存的角度思考问题的。
如果我们是操作文件,向文件中输入,从文件中获取的表达更为准确。
标准C库IO与Linux系统IO的关系

1.C库函数底层其实是调用了Linux系统函数的
2.C库IO是有缓冲区的,Linux系统函数是没有缓冲区的
有缓冲区的好处:
提高效率
比如现在有100个鸡蛋需要从A点运送到B点,在没有缓冲区的情况下只能一个一个的运送,而如果存在缓冲区,那么就相当于有一个框子,假设这个框子能装20个鸡蛋,当框子装满或者flush刷新或者A区的鸡蛋没有剩余了,则通过框子向B点运送鸡蛋。
刷新内存缓冲区的三个时机
1.主动刷新 fflush
2.缓冲区已满
3.正常关闭文件 close return exit
文件指针FILE
我们知道C语言操作文件都是通过FILE来进行的,FILE是一个结构体。其中有三个最为重要的成员

1.通过文件描述符可以索引到相应的磁盘文件
2.通过文件读写指针可以确定在该文件中的读写位置
3.I/O缓冲区(与前面说的功能一样,减少磁盘读写次数来提高效率)
磁盘读写为什么慢
在学习的过程中我们经常会碰到减少磁盘读写操作来提高效率,那是因为磁盘的操作相对比较慢。这是硬件上的缺陷,大部分的磁盘都是机械磁盘,读取寻道时间和写入寻道时间都是毫秒级别的,而内存属于电子设备,读写是纳秒级别的。1ms = 10^7ns
边栏推荐
- Interpretation of the paper (g-U-Nets) "Graph U-Nets"
- 交换机和生成树知识点
- QT笔记——QT工具uic,rcc,moc,qmake的使用和介绍
- Self-organization is a two-way journey between managers and members
- Live Classroom System 08 Supplement - Tencent Cloud Object Storage and Course Classification Management
- 过滤器
- 【PCBA solution】Electronic grip strength tester solution she'ji
- mmpose关键点(一):评价指标(PCK,OKS,mAP)
- shell脚本循环语句for、while语句
- 【开源教程5】疯壳·开源编队无人机-飞控固件烧写
猜你喜欢

xshell (sed command)

How to translate financial annual report, why choose a professional translation company?

FPGA - 7系列 FPGA内部结构之Memory Resources -03- 内置纠错功能

These must-know JVM knowledge, I have sorted it out with a mind map

艺术与科技的狂欢,阿那亚2022砂之盒沉浸艺术季

学会开会|成为有连接感组织的重要技能

阿里云新增三大高性能计算解决方案,助力生命科学行业快速发展

接口测试的概念、目的、流程、测试方法有哪些?

The Thread State,

12 Recurrent Neural Network RNN2 of Deep Learning
随机推荐
camera预览流程 --- 从HAL到OEM
2022.8.9 Mock Competition
美创科技勒索病毒“零信任”防护和数据安全治理体系的探索实践
Alibaba and Ant Group launched OceanBase 4.0, a distributed database, with single-machine deployment performance exceeding MySQL
shell (text printing tool awk)
LeetCode Daily Question (1573. Number of Ways to Split a String)
Extended Chinese Remainder Theorem
阿里云架构师金云龙:基于云XR平台的视觉计算应用部署
An article to teach you a quick start and basic explanation of Pytest, be sure to read
Translating scientific and technological papers, how to translate from Russian to Chinese
The Thread State,
【PCBA方案设计】蓝牙跳绳方案
A shell script the for loop statements, while statement
How to translate financial annual report, why choose a professional translation company?
2022.8.9 模拟赛
异常的了解
MySQL Advanced Commands
xshell (sed command)
美味的佳肴
LeetCode-36-二叉搜索树与双向链表