在 Linux 中,使用 opendir() 函数来打开一个目录。为了判断 opendir() 是否成功打开目录,你需要检查其返回值。opendir() 函数的原型如下:
#include <dirent.h>
DIR *opendir(const char *name);
opendir() 函数接受一个目录名(字符串)作为参数,并返回一个指向 DIR 结构的指针。如果成功打开目录,它将返回一个有效的指针;如果失败,则返回 NULL。
以下是一个简单的示例,演示了如何使用 opendir() 函数并检查其返回值:
#include <stdio.h>
#include <dirent.h>
int main() {
const char *dir_name = "example_directory";
DIR *dir = opendir(dir_name);
if (dir == NULL) {
perror("Error opening directory");
return 1;
}
printf("Directory opened successfully\n");
// Do something with the directory, e.g., read its contents using readdir()
closedir(dir);
return 0;
}
在这个示例中,我们首先调用 opendir() 函数来打开名为 “example_directory” 的目录。然后,我们检查返回的指针是否为 NULL。如果为 NULL,则表示打开目录失败,我们可以使用 perror() 函数打印错误信息。如果成功打开目录,我们打印一条消息并继续执行其他操作(例如,使用 readdir() 函数读取目录内容)。最后,我们使用 closedir() 函数关闭目录。