第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2021-04-05 本文由逆光飞翔i 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

完整包含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); 等效于

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育Linux 文件和目录操作函数(8)全文阅读和word下载服务。

Linux 文件和目录操作函数(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1179805.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top