《Unix环境高级编程》:打印指定的描述符的文件标志
来源:互联网 发布:windows安全配置 编辑:程序博客网 时间:2024/06/06 00:51
《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。
程序简介:这个程序的第一个参数指定了文件描述符,并打印出这个文件的文件标志说明。
//《Unix环境高级编程》程序3-4:打印指定的描述符的文件标志#include <stdio.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char **argv) { int val; if( argc != 2 ) { fprintf(stderr, "Usage: a.out <descriptor#>"); exit(1); } //改变已打开的文件的性质 val = fcntl( atoi(argv[1]), F_GETFL, 0); if( val < 0 ) { fprintf(stderr, "fcntl error for fd %d", atoi(argv[1])); exit(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: fprintf(stderr, "unknow access mode"); exit(1); } 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'); return 0; }
- 《Unix环境高级编程》:打印指定的描述符的文件标志
- APUE-3.4 对于指定的描述符打印文件标志
- 对于指定的描述符打印文件标志
- APUE 3-11 对于指定的描述符打印文件标志
- APUE-用fcntl函数对指定的描述符打印和开启文件标志
- UNIX环境高级编程--文件描述符浅析
- 【unix高级编程】1.文件描述符
- UNIX/Linux中的文件按描述符标志或文件状态标志的修改,即 “与或非” 操作
- Unix高级编程:文件的基本操作、mmap将文件映射虚拟地址、文件描述符的复制
- UNIX环境高级编程Apue.h文件的配置
- UNIX环境高级编程 apue.h头文件的配置
- <<UNIX环境高级编程>>apue.h头文件的配置
- UNIX环境高级编程 apue.h头文件的配置
- UNIX环境高级编程 apue.h头文件的配置
- UNIX环境高级编程 apue.h头文件的配置
- 文件描述符的FD_CLOEXEC标志
- 《Unix环境高级编程》:打印线程ID
- UNIX环境高级编程-打印进程ID
- MD5加密
- Redis数据库学习笔记
- eclipse 搭建C++开发环境
- 命令历史
- 在排序数组中,找出给定数字的出现次数
- 《Unix环境高级编程》:打印指定的描述符的文件标志
- 关于网络的一些专业名词
- I2C子系统之总结
- Vista/Win7下的直接磁盘写入
- Compute Shader (DX11)
- 黑马程序员_JAVA学习日记_JAVA中的IO流
- service iptables stop
- 黑马程序员_JAVA学习日记_JAVA中的多线程补充
- JVM学习之:GC的算法简述