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

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详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值