标准C库文件操作
open与fopen的区别
a.来源性
open函数是UNIX系统调用函数(包括Linux),返回的是文件描述符
fopen函数是标准C语言库,在不同的系统中调用不同的API(个人理解:fopen仅需调用 #include <stdio.h>就OK了)
b.移植性
fopen函数是C标准函数,具有良好的移植性;open函数移植性有限
fopen函数在Windows系统下可以正常运行,而open函数只能使用Windows系统下类似的功能API函数“CreatFile”
c.适用范围
open函数在UNIX下,一切设备都是以文件的操作形式。基于Linux内核的文件操作,如网络的套接字、硬件设备
fopen函数适用于普通正规文件
d.缓冲
缓存文件系统:内存“缓冲区”越大,则操作外存的次数越少,执行速度越快,效率越高。(fopen,fwrite,fput,fget…)
fopen函数,由于在用户态下就有了缓冲,因此进行文件读写操作的时候就减少了用户态和内核态的切换(切换到内核态还需要调用系统