fcntl F_SETFL

F_SETFL file set flag

F_SETFL命令允许更改的标志有O_APPEND,O_NONBLOCK,O_NOATIME,O_DIRECT,O_ASYNC

这个操作修改文件状态标记适用于以下场景:

文件描述符不是通过open()系统调用获得的。比如pipe()返回两个文件描述符代表管道的两端。socket()指向套接字。

int flag = fcntl(fd,F_GETFL);

flag |= O_APPEND;

fcntl(fd,F_SETFL,flag);//注意F_SETFL的时候是用3的参数的版本

posted @ 2019-01-10 15:36  MoonXu  阅读(2039)  评论(0编辑  收藏  举报