linux中的dup和fcntl的用法

(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结构体成员:

猜你喜欢

转载自blog.csdn.net/xx18030637774/article/details/81946000