标准C库文件操作

open 系列API 和 fopen系列API的区别

1.来源:
-open 是UNIX系统调用函数(包括LINUX系统),返回的是文件描述符
-fopen是ANSIC标准的C语言库函数,在不同系统重调用不同内核的API

2.移植性:
fopen 是C标准函数,具有良好的移植性;
而opne是unix系统调用,移植性有限(砸死window下运行怒了,可以用功能一样的CreateFile调用)

3.适用范围:
open返回文件操作符,在unix系统下使用,可以硬件设备对接
fopen 用来操作普通正规文件

4.文件IO层次:
open里系统内核更接近,属于低级文件IO,运行在内核态,高级文件IO运行在用户态(缓冲区)

5.缓冲:
fopen --缓冲文件系统,设置文件结构体指针, 等一堆f开头的api都是在缓冲区运行 -- 执行速度快,效率高。
open --非缓冲文件系统,无文件结构体指针,值读写二进制文件,效率高,速度快
总结: open 无缓冲,fopen有缓冲

由于fopen渔鸥缓冲,减少了用户态和内存太的切换,而open每次都需要切换;
if 顺序访问文件的话,fopen的效率更高,随机访问的话计算open的效率高

==================================================

fopen系列API调用:


fopen:

FILE  *fopen(char *filename,char *mode);


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值