#include "apue.h"
#include <stdio.h>
#include <fcntl.h>
int main(int argc, char* argv[]) {
int val;
if (argc != 2)
err_quit("error quit.");
if ((val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0)
err_sys("fcntl error for id: %d", atoi(argv[1]));
switch(val & O_ACCMODE) {
case O_RDONLY:
printf("read only.\n");
break;
case O_WRONLY:
printf("write only.\n");
break;
case O_RDWR:
printf("read write.\n");
default:
err_dump("unknow access mode.");
}
if (val & O_APPEND) {
printf(", append\n");
}
if (val & O_NONBLOCK) {
printf(", non block\n");
}
if (val & O_SYNC) {
printf(", synchronours writes \n");
}
#if !defined(_POXIX_C_SOURCE) && defined(O_FSYNC) && (O_FSYNC != O_SYNC)
if (val & O_SYNC) {
printf(", synchronours writes\n");
}
#endif
putchar('\n');
exit(0);
}
量化交易之linux篇 - 《UNIX环境高级编程》 - 指定文件描述符,并对于该描述符打印其所选择的文件标志说明
原创
©著作权归作者所有:来自51CTO博客作者ErwinSmith的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux之文件描述符
文件描述符、ulimit
linux基础知识 -
文件描述符
文件描述符编辑内核(kernel)利用文件描述符(file descriptor)来访问文件。
文件描述符 linux #include