我正在进行网络任务,我们的任务是使用我们提供的协议创建远程文件访问服务器。我可能遇到的困难来自缺少的信息,这些信息解释了计算open()中oflag参数位的过程。如何计算open()中oflag的位标志/枚举标志?
我从客户端收到一条消息以打开一个文件,并在消息中解析用于inlag的标志字符。具体而言,他们是:
- 的R - O_RDONLY
- W - O_WRONLY
- RW - O_RDWR
- A - O_APPEND
- Ç - O_CREAT
- 笔 - O_TRUNC
- ë - O_EXCL
我绕过谷歌和s获取按位操作,枚举标志,位标志,计算位标志等,并找不到有助于确定如何为oflag创建位的内容。也许我只是不知道我在找什么,并忽略了有用的信息?
可能有人请:
- 点我的方向/提供连结到如何计算比特/#我应该文档/例子投入给我分析人物或
- oflags告诉我枚举类型的标志,他们应该排序进去
多谢您的帮助,如果我不是我的问题还是什么,我试图做明确的,只是让我知道,我将尽快澄清。
因此,例如,如果我解析RWC,然后将打开(“文件”,O_RDWR | O_CREAT)。但既然只知道字符,我会做int oflag =(02 | 0100),然后我打开看起来像打开(“文件”,oflag)?我需要从我解析到的二进制角色中解脱出来。 – Chris 2010-02-18 23:01:11