小弟最近在學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 等等應該在某頭文件中定義了
比如 (值是我隨便寫的,具體請查看那個頭文件,我偷個懶)
等。