Linux(C/C++)下的文件操作open,fopen

来源:互联网 发布:京瓷6525安装网络打印 编辑:程序博客网 时间:2024/05/21 23:00

open是Linux下的底层系统调用函数,fopen是C/C++下的标准I/O库函数,带输入/输出缓冲

Linux下的fopen是open的封装函数,fopen最终还是要调用底层的系统调用open。

所以在Linux下如果对设备进行明确的控制,最好使用底层系统调用(open)。

open对应的文件操作有:close, read, write,ioctl 等。
fopen 对应的文件操作有:fclose, fread, fwrite, freopen, fseek, ftell, rewind等。

open与fopen的区别:

  • fread是带缓冲的,read是不带缓冲的;

  • fopen是标准C里面定义的,open是POSIX中定义的;

  • fread可以读一个结构,read在Linux/Unix中读二进制与普通文件没有区别;

  • fopen不能指定要创建文件的权限,open可以指定;

  • fopen返回文件指针,open返回文件描述符(整数);

  • Linux/Unix中任何设备都是文件,都可以使用read/open;

open与fopen详解

原创粉丝点击