这个问题在这里已有答案:
正如这里所说的Microsoft docs - CreateFileA function
dwDesiredAccess
请求访问文件或设备,可以概括为读,写,两者或两者都不为零。
最常用的值是GENERIC_READ,GENERIC_WRITE或两者(GENERIC_READ | GENERIC_WRITE)
当同时使用READ和WRITE权限时,为什么要写GENERIC_READ | GENERIC_WRITE
而不是GENERIC_READ && GENERIC_WRITE
? |
与按位OR运算符有什么关系吗?如果是的话,为什么我们使用它而不是&&
?
GENERIC_READ
和GENERIC_WRITE
是位标志 - 只有一位设置的值。要组合它们,您可以使用按位或运算符|
。 &&
不是一个按位运算符,而是一个逻辑运算符。