返回值

成功后,dirfd()返回文件描述符(非负整数)。发生错误时,将返回-1,并设置errno以指示错误原因。

说明

函数dirfd()返回与目录流dirp关联的文件描述符。

该文件描述符是目录流内部使用的文件描述符。结果,它仅对不依赖或不改变文件位置的函数有用,例如fstat(2)和fchdir(2)。调用closedir(3)时,它将自动关闭。

语法

#包括
#包括

int dirfd(DIR * dirp);

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

dirfd():

/ *自glibc 2.10起:* / _POSIX_C_SOURCE>= 200809L || / * Glibc版本

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
dirfd()Thread safetyMT-Safe

遵循规范

POSIX.1-2008。此功能是BSD扩展,存在于4.3BSD-Reno中,而不存在于4.2BSD中。

名称

dirfd-获取目录流文件描述符

DIRFD - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-04-11

另外参见

open(2),openat(2),closedir(3),opendir(3),readdir(3),rewinddir(3),scandir(3),seekdir(3),telldir(3)

错误说明

POSIX.1-2008指定了两个错误,当前实现均未返回这两个错误。

EINVAL
dirp没有引用有效的目录流。
ENOTSUP
该实现不支持文件描述符与目录的关联。
日期:2019-08-20 18:00:07 来源:oir作者:oir