手机版

Linux 文件和目录操作函数(8)

发布时间:2021-06-06   来源:未知    
字号:

完整包含linux下文件和目录的各种操作和注意事项,是此类开发的必备手册!

ENOTDIR: 路径名中当作目录的组件并非目录 EROFS: 文件系统只读

EFAULT: 路径名指向可访问的空间外 EIO: 输入输出错误

ENOMEM: 不能获取足够的内核内存 ETXTBSY:对程序写入出错

2.3.7.5 注意事项 2.3.7.6 使用示例

2.3.8 link 2.3.9 unlink 2.3.10 fcntl 2.3.10.1 函数原型

函数原型如下:

int fcntl(int fd, int cmd);

int fcntl(int fd, int cmd, long arg);

int fcntl(int fd, int cmd, struct flock *lock); open()函数为变参函数。 2.3.10.2 功能介绍

fcntl()针对(文件)描述符提供控制。参数fd是被参数cmd操作(如下面的描述)的描述符。针对cmd的值,fcntl能够接受第三个参数int arg。

fcntl函数有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) 2.3.10.2.1 复制描述符

最小的大于或等于arg的一个可用的描述; 与原始操作符一样的某对象的引用;

如果对象是文件(file)的话,则返回一个新的描述符,这个描述符与arg共享相

同的偏移量(offset);

相同的访问模式(读,写或读/写);

相同的文件状态标志(如:两个文件描述符共享相同的状态标志);

与新的文件描述符结合在一起的close-on-exec标志被设置成交叉式访问

execve(2)的系统调用。

实际上调用dup(oldfd); 等效于

fcntl(oldfd, F_DUPFD, 0); 而调用dup2(oldfd, newfd); 等效于

Linux 文件和目录操作函数(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)