手机
当前位置:查字典教程网 >编程开发 >C语言 >简要对比C语言中的dup()函数和dup2()函数
简要对比C语言中的dup()函数和dup2()函数
摘要:C语言dup()函数:复制文件描述词头文件:#include定义函数:intdup(intoldfd);函数说明:dup()用来复制参数ol...

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语言中的dup()函数和dup2()函数】相关文章:

基于C语言字符串函数的一些使用心得

C语言/C++中如何产生随机数

C语言中打印特殊图案的实现代码

关于C++中的友元函数的一些总结

C语言中怎么在main函数开始前执行函数

深入解析C++中的构造函数和析构函数

C语言中函数声明与调用问题

解析C++中虚析构函数的作用

linux下C语言中的mkdir函数与rmdir函数

深入理解C语言中编译相关的常见错误

精品推荐
分类导航