• dup与dup2


    dup与dup2

    #include <unistd.h>
    
    int dup(int oldfd);
    /*
    oldfd: 要复制的文件描述符
    返回值: 新的文件描述符
    dup调用成功: 有两个文件描述符指向同一个文件
    返回值: 取最小的且没被占用的文件描述符
    */
    int dup2(int oldfd, int newfd);
    /*
    文件描述符的重定向
    oldfd->haha
    newfd->hehe
    	假设newfd已经指向了一个文件, 首先断开新的close与那个文件的链接, newfd指向oldfd指向的文件
    	newfd没有被占用, newfd指向oldfd指向的文件
    */
    

    改变已经打开的文件的属性

    #include <unistd.h>
    #include <fcntl.h>
    
    int fcntl(int fd, int cmd, ... /* arg */ );
    

    变参数函数

    复制一个已经有的文件描述符
    int ret = fcntl(fd, F_DUPFD);

    获取/设置文件状态标志
    open的flags参数
    (1)获取文件状态标识
    int flag = fcntl(fd, F_GETFL);
    (2)设置文件状态标识
    flag = flag | O_APPEND;
    fcntl(fd, F_SETFL, flag)

    常用的可以更改的几个标识: O_APPEND, ONONBLOCK

  • 相关阅读:
    道砟说明
    方案设计图
    红外对摄报价
    荣昌县公安局监控设计方案
    安盈楼宇对讲系统
    高速公路方案一
    高速公路方案一
    无线智能报警暨家电控制
    百安居监控设计方案
    家庭防盗报警系统
  • 原文地址:https://www.cnblogs.com/hesper/p/10739060.html
Copyright © 2020-2023  润新知