copendir() 是一个在 Linux 系统中用于打开目录的函数,它是 dirent.h 头文件的一部分。这个函数返回一个指向 DIR 结构的指针,该结构包含了目录流的相关信息。你可以使用这个指针与 readdir() 函数一起遍历目录中的文件和子目录。
下面是一个使用 copendir() 的简单示例:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
// 打开当前目录
dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
// 遍历目录中的文件和子目录
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
// 关闭目录
closedir(dir);
return EXIT_SUCCESS;
}
在这个示例中,我们首先使用 opendir() 函数打开当前目录(.)。如果打开成功,它将返回一个指向 DIR 结构的指针。然后我们使用 readdir() 函数遍历目录中的所有文件和子目录,并将它们的名称打印到屏幕上。最后,我们使用 closedir() 函数关闭目录。
要编译这个示例,你可以使用以下命令:
gcc example.c -o example
然后运行生成的可执行文件:
./example
这将显示当前目录中的所有文件和子目录。