Linux下编程O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR 为什么不是
答案:2 悬赏:0
解决时间 2021-02-03 15:25
- 提问者网友:剪短发丝
- 2021-02-02 14:32
Linux下编程O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR 为什么不是
最佳答案
- 二级知识专家网友:统治我的世界
- 2021-02-02 15:59
O_WRONLY|O_CREAT
表示打开方式,是只写,创建方式。
S_IRUSR|S_IWUSR
表示不同用户权限,usr表示拥有者可以读写
表示不同的作用。
表示打开方式,是只写,创建方式。
S_IRUSR|S_IWUSR
表示不同用户权限,usr表示拥有者可以读写
表示不同的作用。
全部回答
- 1楼网友:摧毁过往
- 2021-02-02 17:09
这里要用位或,而不是与。在头文件fcntl.h中,可以见到o_wronly的定义值是"01",八位二进制就是"00000001",o_creat是八进制"0100",二进制就是"01000000",竖线“|”不是“与”,是逐位“或”运算,o_rwonly|o_creat合起来就是"01000001“,这两个"1"的位置并不冲突,在这里,open()函数得到的值是编译器已经合并好了的值"01000001",open()函数可以根据这两个独立的二进制"位"知道是读写打开或者创建。 后面类推.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |