在 Ubuntu(Linux)下,opendir 是 POSIX 标准库函数,声明在 <dirent.h> 中,用于打开一个目录。
#include <dirent.h>
DIR *opendir(const char *name);
opendir 返回值含义DIR * 指针readdir()rewinddir()closedir()示例:
DIR *dir = opendir("/home");
if (dir != NULL) {
// 成功打开目录
}
NULLerrno,表示具体错误原因常见 errno 值:
| errno | 含义 |
|---|---|
EACCES |
权限不足 |
ENOENT |
目录不存在 |
ENOTDIR |
路径不是目录 |
EMFILE / ENFILE |
打开文件数过多 |
ENOMEM |
内存不足 |
示例:
#include <errno.h>
#include <string.h>
DIR *dir = opendir("/no/such/dir");
if (dir == NULL) {
perror("opendir");
}
errno 判断原因如果你愿意,我也可以给你一个完整的目录遍历示例(C 语言)。