/* 3-4 对于指定的描述符打印文件标志 */
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int val;
if(argc != 2)
{
printf("usage: a.out <descriptor#>\n");
exit(1);
}
if( (val = fcntl(atoi(argv[1]), F_GETFL)) == -1 )
{
perror("fcntl error");
exit(1);
}
printf("val:%o\n", val);
printf("val & O_ACCMODE:%o\n", val & O_ACCMODE);
printf("O_APPEND:%o\n", O_APPEND);
printf("val & O_APPEND:%o\n", val & O_APPEND);
return 0;
}