Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1788979
  • 博文数量: 335
  • 博客积分: 4690
  • 博客等级: 上校
  • 技术积分: 4341
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-08 21:38
个人简介

无聊之人--除了技术,还是技术,你懂得

文章分类

全部博文(335)

文章存档

2016年(29)

2015年(18)

2014年(7)

2013年(86)

2012年(90)

2011年(105)

分类: C/C++

2012-01-06 21:02:00

  1. #include "apue.h"
  2. #include <fcntl.h>

  3. int
  4. main(int argc,char * argv[])
  5. {
  6.     int val;

  7.     if ( argc != 2)
  8.         err_quit("usage: a.out ");

  9.     if(( val = fcntl(atoi(argv[1]), F_GETFL,0)) < 0)
  10.         err_sys("fcntl error for fd %d",atoi(argv[1]));
  11.     switch( val &O_ACCMODE ) {
  12.     case O_RDONLY:
  13.         printf("read only ");
  14.         break;
  15.     case O_WRONLY:
  16.         printf("write only");
  17.         break;
  18.     case O_RDWR:
  19.         printf("read write ");
  20.         break;
  21.     default:
  22.         err_dump("unknown access mode ");
  23.     }

  24.     if (val & O_APPEND)
  25.         printf(",append");
  26.     if (val & O_NONBLOCK)
  27.         printf(",nonblock");
  28.     #if defined(O_SYNC)
  29.         if( val & O_SYNC )
  30.             printf(",syschronouse writers ");
  31.     #endif
  32.     #if !defined( _POSIX_C_SOURCE ) && defined(O_SYNC)
  33.         if (val & O_FSYNC )
  34.             printf(",synchronous writers ");
  35.     #endif    
  36.     putchar('\n');
  37.     exit(0);
  38.         
  39. }
阅读(1103) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~