一、 fcntl
1、头文件:#include <unistd.h>#include <fcntl.h>
2、函数原型:intfcntl(intfd, intcmd);
intfcntl(intfd, intcmd, long arg);
intfcntl(intfd, intcmd, struct flock *lock);
3、函数内形参:fd:文件描述词;cmd:操作命令;arg:供命令使用的参数;lock:同arg。4、函数返回值:与命令有关。如果出错,所有命令都返回-1,如果成功则返回某个其他。
下列三个命令有特定返回值:
F_DUPFD返回新的文件描述符;F_GETFD返回相应标志;
F_GETFL以及F_GETOWN返回一个正的进程ID或负的进程组ID。
5、功能描述:(file control)根据文件描述词来操作文件的特性。
具体功能及其对应cmd值(5种):
(1)复制一个现有的描述符(cmd=F_DUPFD)。
(2)获得/设置文件描述符标志(cmd=F_GETFD或F_SETFD)。
(3)获得/设置文件状态标志(cmd=F_GETFL或F_SETFL)。
(4)获得/设置异步I/O所有权(cmd=F_GETOWN或F_SETOWN)。
(5)获得/设置记录锁(cmd=F_GETLK,F_SETLK或F_SETLKW)。
6、特殊文件描述符ÿ
fcntl、mmap(存储映射)
最新推荐文章于 2021-01-31 18:07:30 发布