Linux C/C++ or 嵌入式面试之《多进程多线程编程系列》(18) 缓冲IO、非缓冲IO、read/fread区别、fread作用

你绝对想不到习以为常的read、fread函数也能问出这么多不懂的问题吧?保持学习激情,向胜利冲刺!

缓冲IO与非缓冲IO

linix对IO文件的操作分为不带缓存的IO操作和标准IO操作(即带缓存)。

不带缓存:open 、read、write,属于系统调用,在用户空间没有缓冲,在内核空间还是进行了缓存的。

数据-----内核缓存区----磁盘。假设内核缓存区长度为100字节,你调用ssize_t write (int fd,const void * buf,size_t count);写操作时,设每次写入count=10字节,那么你要调用10次这个函数才能把这个缓存区写满,没写满时数据还是在内核缓冲区中,并没有写入到磁盘中,内核缓存区满了之后或者执行了fsync

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值