你提到的 “copendir” 在 Debian(以及任何 Linux/Unix 系统)里其实根本不存在这个函数,所以“没有”是正常的,并不是 Debian 缺少什么。
正确的是:
标准 C / POSIX 里只有 opendir,没有 copendir。
你可能是:
记错了函数名
opendircopendir把 closedir 看成了 copendir
DIR *dir = opendir(".");
readdir(dir);
closedir(dir);
看到某个非标准 / 内部函数
__copendir 之类#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir = opendir(".");
if (!dir) {
perror("opendir");
return 1;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
编译:
gcc dir.c -o dir
copendir,因为 POSIX / C 标准就没有opendir / readdir / closedircopendir,大概率是拼写或内部符号误解如果你愿意,可以告诉我你具体在哪看到的 copendir(代码 / 文档 / 报错),我可以帮你精确定位。