linux

怎样判断copendir是否成功打开目录

小樊
46
2025-09-09 10:17:30
栏目: 编程语言

在C语言中,使用opendir()函数来打开一个目录。要判断opendir()是否成功打开目录,可以检查其返回值。如果opendir()成功,它将返回一个指向DIR结构的指针;如果失败,则返回NULL

以下是一个简单的示例,演示如何使用opendir()并检查其返回值:

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

int main() {
    DIR *dir;
    struct dirent *entry;

    // 尝试打开当前目录
    dir = opendir(".");

    // 检查是否成功打开目录
    if (dir == NULL) {
        perror("opendir failed");
        return 1; // 返回错误代码
    }

    // 成功打开目录,可以继续处理
    printf("Directory opened successfully.\n");

    // 读取目录中的条目
    while ((entry = readdir(dir)) != NULL) {
        printf("%s\n", entry->d_name);
    }

    // 关闭目录
    closedir(dir);

    return 0;
}

在这个例子中,我们尝试打开当前目录(用.表示)。然后,我们检查opendir()的返回值。如果返回NULL,我们使用perror()打印出错信息,并返回一个错误代码。如果成功,我们打印一条成功消息,并继续读取和打印目录中的条目。最后,我们使用closedir()关闭目录。

0
看了该问题的人还看了