温馨提示×

Ubuntu copendir返回值是什么

小樊
35
2026-08-02 19:51:09
栏目: 智能运维

Ubuntu(Linux) 下,opendir() 的返回值如下:

函数原型

#include <dirent.h>

DIR *opendir(const char *name);

返回值说明

  • 成功时
    返回一个指向 DIR* 类型的目录流指针(非空指针),后续可用于 readdir()closedir() 等操作。

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

常见错误(errno)

errno 含义
ENOENT 目录不存在
EACCES 权限不足
ENOTDIR 不是目录
EMFILE 进程打开文件数过多
ENFILE 系统打开文件数过多

示例代码

#include <stdio.h>
#include <dirent.h>
#include <errno.h>

int main() {
    DIR *dir = opendir("/tmp");
    if (dir == NULL) {
        perror("opendir failed");
        return 1;
    }

    // 使用目录流
    closedir(dir);
    return 0;
}

总结

返回值类型DIR *
成功:非 NULL
失败NULLerrno 被设置

如果你是在 C/C++ 编程调试某个具体错误,可以把代码贴出来,我可以帮你具体分析。

0