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

所属分类: 软件编程 / C 语言 阅读数: 33
收藏 0 赞 0 分享

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().

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

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

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

更多精彩内容其他人还在看

在C语言中对utmp文件进行查找和写入操作的函数小结

这篇文章主要介绍了在C语言中对utmp文件进行查找和写入操作的函数小结,包括pututline()函数和getutline()函数以及getutid()函数,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言编程中从密码文件获取数据的函数总结

这篇文章主要介绍了C语言编程中从密码文件获取数据的函数总结,包括getpw()函数和getpwnam()函数以及getpwuid()函数,需要的朋友可以参考下
收藏 0 赞 0 分享

在C语言编程中设置和获取代码组数的方法

这篇文章主要介绍了在C语言编程中设置和获取代码组数的方法,分别为setgroups()函数和getgroups()函数的使用,需要的朋友可以参考下
收藏 0 赞 0 分享

使用C语言操作文件的基本函数整理

这篇文章主要介绍了使用C语言操作文件的基本函数整理,包括创建和打开以及关闭文件的操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

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

这篇文章主要介绍了简要对比C语言中的dup()函数和dup2()函数,是C语言入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中对文件最基本的读取和写入函数

这篇文章主要介绍了C语言中对文件最基本的读取和写入函数,是C语言入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言中lseek()函数和fseek()函数的使用详解

这篇文章主要介绍了C语言中lseek()函数和fseek()函数的使用详解,是C语言入门学习中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言新建临时文件和临时文件名的方法

这篇文章主要介绍了C语言新建临时文件和临时文件名的方法,分别是mkstemp()函数和mktemp()函数的使用,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言的getc()函数和gets()函数的使用对比

这篇文章主要介绍了C语言的getc()函数和gets()函数的使用对比,从数据流中一个是读取字符一个是读取字符串,需要的朋友可以参考下
收藏 0 赞 0 分享

简单对比C语言中的fputs()函数和fputc()函数

这篇文章主要介绍了简单对比C语言中的fputs()函数和fputc()函数,注意其之间的区别,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多