温馨提示×

ubuntu copendir返回什么值

小樊
55
2026-09-05 18:02:13
栏目: 智能运维

在 Ubuntu(Linux)下,opendir 是 POSIX 标准库函数,声明在 <dirent.h> 中,用于打开一个目录。

函数原型

#include <dirent.h>

DIR *opendir(const char *name);

返回值说明

  • 成功时
    返回一个指向 DIR 结构的指针(非空),该指针用于后续的 readdir、closedir 等操作。

  • 失败时
    返回 NULL,并且会设置 errno 以指示错误原因。

常见 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 或目录遍历的完整示例,也可以继续问。

0 踩