linux中的dup2函数理解

  • Post author:
  • Post category:linux


dup2函数

1、 定义: int dup2(int oldfd , int newfd);

2、 作用:Dup2函数复制描述符oldfd到描述符表表项newfd,覆盖描述符表表项newfd以前的内容。

3、 我的理解:oldfd去覆盖newfd,执行完该命令后,newfd就不存在了,最终指向同一个文件。例如:调用dup2(4,1);
在这里插入图片描述

在这里插入图片描述

4、

例如:输出结果:o

在这里插入图片描述

Fd1和fd2 通过打开不同的文件表表项来引用两个不同的文件,第一个read读出了字符f,fd1的光标停在f后,而后调用dup2函数命令,使得fd1的光标移到fd2的光标处,因此第二个read读出了o.

如图所示:

在这里插入图片描述

在这里插入图片描述



版权声明:本文为bantianTU原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。