你提到的 “copendir” 其实在 Debian(以及标准 POSIX/Linux)里并不是一个系统调用或标准库函数。
你可能想问的是以下之一:
opendir() / readdir() / closedir()这些是 POSIX 标准目录操作函数,在 Debian 中通过 glibc 提供:
#include <dirent.h>
DIR *dir = opendir(".");
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
openat() + fdopendir()(更现代)如果你指的是 “open directory by file descriptor”,那对应的是:
openat()fdopendir()这些属于 POSIX.1-2008,在 Debian 中的支持情况:
示例:
int fd = openat(AT_FDCWD, "/etc", O_RDONLY | O_DIRECTORY);
DIR *dir = fdopendir(fd);
closedir)closedir() 和 opendir() 一样,所有 Debian 版本都支持| 函数 | Debian 支持情况 |
|---|---|
opendir |
所有版本 |
readdir |
所有版本 |
closedir |
所有版本 |
fdopendir |
Debian 6+ |
openat |
Debian 6+ |
如果你指的是 某个特定库、内核接口或某个 Debian 包里的 copendir,可以把上下文或报错信息发出来,我可以更精确地判断。