我已经得到了以下复选框列表,其中包含了在Ubuntu 14.04LTS上选择相当于O_RDWR的所有真实答案问题的所有可能解决方案。根据下面的列表
O_RDONLY
1
1<<1
3和2
3|2
O_WRONLY
(O_RDONLY+O_WRONLY)
(O_RDONLY|O_WRONLY)
(O_RDONLY和O_WRONLY)
(O_RDONLY&O_WRONLY)
(O_RDONLY<<1)
(O_WRONLY<<1)
0
我已选择2和(O_RDONLY|O_WRONLY),但仍收到错误
有谁能帮我这个忙吗?
5条答案
按热度按时间r1zhe5dt1#
研究按位运算符。
628mspwn2#
都不是。
O_RDWR
的唯一等价物是O_RDWR
。O_RDWR
不是单个位的逐位组合。O_EXEC
、O_RDONLY
、O_SEARCH
或O_WRONLY
也不是。根据POSIX documentation for
open()
(加粗地雷):..。应用程序应在OFLAG的值中指定以下前五个值(文件访问模式)中的**正好一个:
flvlnr443#
O_WRONLY=1、O_RDONLY=0和O_RDWR=2,所以按位运算,找出哪条语句得到2
你明白了吗?这意味着2,1<<1,3&2和(O_WRONLY<<1)这些可以给你2
9o685dep4#
2,1<<1也左移00000001=00000010所以,值也是2,3&2也是2,O_WRONLY<<1也是2,所以这是答案
jgovgodb5#
答案是这样的: