简要对比C语言中的dup()函数和dup2()函数

简要对比C语言中的dup()函数和dup2()函数,第1张

概述C语言dup()函数:复制文件描述词头文件:#include<unistd.h>定义函数:intdup(intoldfd);

C语言dup()函数:复制文件描述词
头文件:

#include <unistd.h>

定义函数:

int dup (int oldfd);

函数说明:dup()用来复制参数oldfd 所指的文件描述词,并将它返回. 此新的文件描述词和参数oldfd 指的是同一个文件,共享所有的锁定、读写位置和各项权限或旗标. 例如,当利用lseek()对某个文件描述词作用时,另一个文件描述词的读写位置也会随着改变. 不过,文件描述词之间并不共享close-on-exec 旗标.

返回值:当复制成功时,则返回最小及尚未使用的文件描述词. 若有错误则返回-1,errno 会存放错误代码.

错误代码:EBADF 参数fd 非有效的文件描述词,或该文件已关闭.

C语言dup2()函数:复制文件描述词
头文件:

 #include <unistd.h>

定义函数:

int dup2(int odlfd,int newfd);

函数说明:dup2()用来复制参数oldfd 所指的文件描述词,并将它拷贝至参数newfd 后一块返回. 若参数newfd为一已打开的文件描述词,则newfd 所指的文件会先被关闭. dup2()所复制的文件描述词,与原来的文件描述词共享各种文件状态,详情可参考dup().

返回值:当复制成功时,errno 会存放错误代码.

附加说明:dup2()相当于调用fcntl(oldfd,F_DUPFD,newfd).

错误代码:EBADF 参数fd 非有效的文件描述词,或该文件已关闭

总结

以上是内存溢出为你收集整理的简要对比C语言中的dup()函数和dup2()函数全部内容,希望文章能够帮你解决简要对比C语言中的dup()函数和dup2()函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1252771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存