fcntl

发布时间 2023-04-25 15:36:06作者: WTSRUVF

 

 

/*

    1、复制文件描述符
    2、设置/获取文件的状态标识
        #include <unistd.h>
        #include <fcntl.h>

        int fcntl(int fd, int cmd, ...);
        参数:
            fd:文件描述符
            cmd:表示对文件描述符进行如何操作
                F_DUPFD:复制文件描述符,得到一个新的文件描述符(返回值)
                int ret = fcntl(fd, F_DUPFD);
                
                F_GETFL:获取指定的文件描述符的文件状态,可读、可写、还是可执行
                获取的flag和通过open传递的flag是一个东西

                F_SETFL:设置文件状态
                    必选项:O_RDONLY、O_WRONLY、O_RDWR
                    可选项:O_APPEND、O_NONBLOK
                因此,如果要修改文件状态,需要先记录原装态,然后再按位或需要修改的状态
                以保证必选项不丢失

*/