dup函数---三兄弟

本文介绍了dup、dup2和dup3三个函数,它们用于复制文件描述符,常用于重定向输入输出。dup会在创建新描述符时分配最小未使用的描述符,dup2会先关闭newfd再复制,而dup3则增加了O_CLOEXEC标志的选项,并且当oldfd和newfd相同时会失败。这些函数成功后,新旧描述符共享文件偏移和状态标记,但close-on-exec标记不共享。
摘要由CSDN通过智能技术生成

dup函数—三兄弟

关于dup、dup2以及dup3三兄弟。

int dup(int oldfd);
int dup2(int oldfd, int newfd);
int dup3(int oldfd, int newfd, int flags);

功能: 复制一个描述符(创建一个新描述符,它与原有描述符指向相同的文件、管道或网络连接)。
用途: 通常用于将标准输入重定向到一个文件,或者把标准输出重定向到一个网络连接(CGI编程)。

dup

int dup(int oldfd);该函数在创建新的文件描述符时,将值最小的未被使用的描述符分配给新的描述符。

测试代码

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>

int main(int argc, char* argv[]) {
   
    if ( argc != 3 ) {
   
        printf("please input correct argument\n");
        return 0;
    }

    char *ip = argv[1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值