在 Ubuntu(Linux)下,opendir 是 POSIX 标准库函数,声明在 <dirent.h> 中,用于打开一个目录。
#include <dirent.h>
DIR *opendir(const char *name);
成功时
返回一个指向 DIR 结构的指针(非空),该指针用于后续的 readdir、closedir 等操作。
失败时
返回 NULL,并且会设置 errno 以指示错误原因。
| errno | 含义 |
|---|---|
ENOENT |
目录不存在 |
EACCES |
权限不足 |
ENOTDIR |
路径不是目录 |
EMFILE / ENFILE |
打开文件数过多 |
#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir = opendir("/tmp");
if (dir == NULL) {
perror("opendir");
return 1;
}
// 使用 dir ...
closedir(dir);
return 0;
}
opendir成功返回DIR*指针,失败返回NULL
如果你还想了解 readdir、closedir 或目录遍历的完整示例,也可以继续问。