dirfd函数用法详解
dirfd函数简介
- 头文件包含
#include <sys/types.h>
#include <dirent.h>
- 函数定义
int dirfd(DIR * dirp );
dirfd函数常见使用错误
- 编译错误
warning: implicit declaration of function ‘dirfd’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <sys/types.h>
#include <dirent.h>
dirfd函数详细描述
函数dirfd ()返回与目录流dirp 相关联的文件描述符
该文件描述符是目录流在内部使用的文件描述符。因此,它只对不依赖或不改变文件位置的函数有用,如fstat (2)和fchdir (2),当closedir (3)被调用时,它将自动关闭。
dirfd函数返回值
成功后,dirfd ()返回一个文件描述符(一个非负整数)。当出现错误时,返回-1,并设置errno来指示错误的原因。
dirfd函数错误码
POSIX.1-2008指定了两个错误,当前实现都不返回这两个错误。
- EINVAL dirp没有引用有效的目录流。
- ENOTSUP 实现不支持文件描述符与目录的关联。
评论区