文件操作的读写模式归纳总结

1、先来了解一下模式字符串的各个含义

r / rb:只读模式。文件必须存在。

w / wb:只写模式。文件存在则清空,不存在则创建。

a / ab:追加模式。文件存在则在末尾追加,不存在则创建。

r+ / rb+ / r+b:读写模式。文件必须存在。

w+ / wb+ / w+b:读写模式。文件存在则清空,不存在则创建。

a+ / ab+ / a+b:读写追加模式。文件存在则在末尾追加,不存在则创建。

b代表二进制模式 a代表追加 +代表读写

2、再来了解一下读写常量的各个含义

O_RDONLY:以只读方式打开文件。
O_WRONLY:以只写方式打开文件。
O_RDWR:以读写方式打开文件。
O_CREAT:在文件打开过程中创建新文件
O_APPEND:在文件末尾追加数据,而不是覆盖现有内容。
O_TRUNC:如果文件已经存在,将其截断为空文件。
O_EXCL:与 O_CREAT 一起使用时,如果文件已经存在,则 open() 调用将失败。
O_SYNC:使文件写操作变为同步写入,即将数据立即写入磁盘。
O_NONBLOCK:以非阻塞方式打开文件,即使无法立即进行读写操作也不会被阻塞。
前三个方式互斥,但可以与后面的进行或运算

3、最后将前两个相联系起来

模式字符串含义读写常量
r只读O_RDONLY
w只写
文件不存在则创建一个新文件;
存在则将长度截断为零;
O_WRONLY |O_CREAT | O_TRUNC
a追加写
文件不存在则创建一个新文件;
存在则在末尾追加;
O_WRONLY |O_CREAT |O_APPEND
r+读写,文件必须存在O_RDWR
w+读写
文件不存在则创建一个新文件;
存在则将长度截断为零;
O_RDWR | O_CREAT | O_TRUNC
a+读写追加,
文件不存在则创建
存在则在末尾追加
O_RDWR |O_CREAT |O_APPEND
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值