小弟最近在学C,看到一些函数的传参 是用按位或传参的 不太明白到底是啥意思,而且 关于位运算 好像平时工作中也很少用到。
比如说下面的一段代码
#define LOCKFILE "/var/run/gwyydaemon.pid"
#define LOCKMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
fd = open(LOCKFILE,O_RDWR|O_CREAT,LOCKMODE);
这里面的 O_RDWR|O_CREAT 还有 S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH 是什么意思呢
这个需要自己去查文档
O_RDWR
: 可读可写O_CREAT
: 文件不存在则创建位或的意思是组合配置,假设(具体值我并不知道):
O_RDWR
等于二进制00000001
O_CREAT
等于二进制00000010
等于二进制00000001
O_CREAT
等于二进制00000010
就是位运算啊
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH 等等应该在某头文件中定义了
比如 (值是我随便写的,具体请查看那个头文件,我偷个懒)
等。