(1)dup函数:文件描述符的拷贝
函数头文件及函数原型:
参数:原来的文件描述符,新的文件描述符,标志位;
返回值:成功(返回新的文件描述符)失败(-1)
dup():使用最小的未使用的文件描述符来作为新文件描述符;
dup2():使用给定的文件描述符;
情况1:oldfd不存在,直接返回-1;
情况2:oldfd和newfd相同,不做任何事;
情况3:如果newfd指向的文件打开,则先关闭newfd,再将oldfd的文件描述符赋值给newfd;(原本输出到newfd中的数据,现在输出到oldfd中了,这就是linux系统的重定向的方法实现;
dup3():摘自https://blog.csdn.net/lcstrive/article/details/25097435
(2)fcntl函数:根据文件描述符来操作文件的状态
函数头文件及函数原型:
功能:arg设置为0
lock结构体成员: