fopen函数与open函数的不同

来源:互联网 发布:北京邮电网络教育学院 编辑:程序博客网 时间:2024/06/06 09:30

一直对此感到困惑,今天在网上搜了下,进行下总结。

 

返回值:

open返回文件描述符,是linux下的一个概念,linux下的一切设备都是以文件的形式操作.如网络套接字、硬件设备等。当然包括操作文件。   
 fopen是标准c函数。返回文件流而不是linux下文件句柄。

 

作用:

fopen和open最主要的区别是fopen在用户态下就有了缓存,在进行read和write的时候减少了用户态和内核态的切换,而open则每次都需要进行内核态和用户态的切换;表现为,如果顺序访问文件,fopen系列的函数要比直接调用open系列快;如果随机访问文件open要比fopen快。

fopen是标准c里的,而open是linux的系统调用.   他们的层次不同.   设备文件不可以当成流式文件来用,只能用open  
一般用fopen打开普通文件,用open打开设备文件 ,一般情况下fopen可移植,open不能

 

 

 

 

原创粉丝点击