open和fopen之间的区别

open和fopen比较:
1 fopen 是ISO标准C所提供的函数, open 是linux中所提供的函数,如果考虑程序的可移值性,建议使用fopen。
2 fopen open 所加入的头文件不同。
3 fopen 返回一个文件指针 open 返回一个文件描述符。
4 fopen 同 fread fwrite fclose 一起使用 、open 同read write close 一起使用。
5 fopen 是在open 的基础上扩展出来的函数。
6 fopen 读取文件会存在缓冲 open 无缓冲,如果不是随机访问文件,则fopen比open 访问速度快;如果随机访问文件,则open比fopen访问速度快。
7 linux 特有文件,例 设备文件,管道文件 只能采用linux open进行读取 ,正式文件才可以使用fopen函数进行读取。


缓冲文件系统操作fopen:
当程序需要执行读文件操作时,首先从磁盘中将文件数据读入内存“缓冲区”中,然后再从缓冲区一次读入到用户前端,写数据时,先将数据写入缓冲区,再由缓冲区写入文件。
无缓冲文件系统操作open:
通过文件指针直接对文件进行访问和操作。


相关阅读:
linux c open函数用法