当前位置:   article > 正文

讲解(open fopen) ( wirte fwrite)各自的区别_open和fwrite

open和fwrite

一、来源

open :是UNIX(包括LINUX)系统调用的函数,返回的是文件描述符,简写(fd)。(windows下没有open)
fopen:只要是C语言就有这个函数。

二、移植性

fopen:是标准C语言库函数,具有良好的移植性。
open:是UNIX系统调用,移植性有限

三、适用范围

open:操作网络套接字,硬件设备等,当然也可以操作普通正规文件
fopen:只能操作普通正规文件,例如:配置文件

fopen配合fread和fwrite来用。
open配合read和write来用。
(不能互相使用)。

四、文件的IO层次

open属于低级IO
fopen属于高级IO

用户空间调用open read write会“发送指令“给内核,让内核去访问文件(从用户态进入到内核态)

fopen fread fwrite,只在自己的缓冲区里面去做,对内核的依赖程度低一点。

五、缓冲

1.缓冲区
fopen、fread、fwrite等都在缓冲区里操作
所用的内容都在缓冲区里面完成,最终一次性写入到文件。内存到外存的切换次数少,执行的速度快,效率高。

2.非缓冲区
open read write等
通过内核来操作文件,进行文件读写的时候,每次从用户态到内核态切换,执行的速度慢,效率低。(建议最好不要使用)

——@上官可编程

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/182999
推荐阅读
相关标签
  

闽ICP备14008679号