宏:整数常量 O_ACCMODE
来源:互联网 发布:实体渠道 数据分析 编辑:程序博客网 时间:2024/06/05 11:07
Macro: int O_ACCMODE
This macro stands for a mask that can be bitwise-ANDed with the file status flag value to produce a value representing the file access mode. The mode will be O_RDONLY, O_WRONLY, or O_RDWR. (In the GNU system it could also be zero, and it never includes the O_EXEC bit.)
翻译:
这个宏作为一个掩码以与文件状态标识值做AND位运算,产生一个表示文件访问模式的值。这模式将是O_RDONLY, O_WRONLY, 或 O_RDWR(在GNU系统中,也可能是零,并且从不包括 O_EXEC 位)
O_ACCMODE<0003>:读写文件操作时,用于取出flag的低2位
O_RDONLY<00>:只读打开
O_WRONLY<01>:只写打开
O_RDWR<02>:读写打开
#include "apue.h"#include <fcntl.h>intmain(int argc, char *argv[]){ int val; if (argc != 2) err_quit("usage: a.out <descriptor#>"); if ((val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0) err_sys("fcntl error for fd %d", atoi(argv[1])); switch (val & O_ACCMODE) { case O_RDONLY: printf("read only"); break; case O_WRONLY: printf("write only"); break; case O_RDWR: printf("read write"); break; default: err_dump("unknown access mode"); } if (val & O_APPEND) printf(", append"); if (val & O_NONBLOCK) printf(", nonblocking"); #if defined(O_SYNC) if (val & O_SYNC) printf(", synchronous writes"); #endif #if !defined(_POSIX_C_SOURCE) && defined(O_FSYNC) if (val & O_FSYNC) printf(", synchronous writes"); #endif putchar('/n'); exit(0);}
原文链接:
http://blog.csdn.net/edmond999/article/details/4390759
0 0
- 宏:整数常量 O_ACCMODE
- 宏:整数常量 O_ACCMODE
- 屏蔽字O_ACCMODE 整数常量
- O_ACCMODE
- O_ACCMODE
- O_ACCMODE
- 2.13.1 - [lex.icon] - 【词法.整数常量】
- switch(整数表达式/枚举常量)
- golang 整数常量INT_MAX INT_MIN最大值最小值
- JAVA 二 规范,常量,整数表示方式
- printf和cout对整数常量的不同处理方式
- 在类中定义enum实现整数常量功能
- 静态常量整数成员在class内部直接初始化
- 第二天常量变量整数键盘鼠标操作
- 输入一个字符常量,输出此字符常量对应的整数值。
- The New C++ -- 基本数据类型和字面值常量 (2. 整型和整数字面值常量)
- 宏与符号常量
- 宏和常量
- IOS实现一个简单的浏览器
- (2010计本3班-杨蒙)面向对象的C--实现链表操作
- oracle数据库各版本下载地址
- adb shell input text 输入特殊字符 &
- 《嵌入式开发》实验项目
- 宏:整数常量 O_ACCMODE
- awk 删除文本文件换行符
- 嵌入式系统实用教程
- 嵌入式系统开发实用教程
- 内核社区的中心是内核邮件列表(Linux Kernel Mailing List,LKML)
- mac端如何使用homebrew安装git
- Android跨进程通讯的四种方式
- 什么是boot loader?
- 如何分析oops