在 Debian(或任何 Linux)里,copendir 不是标准 C 库函数,也不是 POSIX 接口。
你可能想用的是 opendir / readdir 来读目录。
下面给你一个完整、正确的示例,说明如何在 Debian 下用 C 语言读取目录。
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
const char *path = argc > 1 ? argv[1] : ".";
DIR *dir = opendir(path);
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return EXIT_SUCCESS;
}
gcc readdir.c -o readdir
./readdir /etc
输出示例:
.
..
passwd
hostname
network
...
opendir)✅ Linux / Debian 下请使用 opendir
| 函数 | 作用 |
|---|---|
opendir() |
打开目录 |
readdir() |
读取目录项 |
closedir() |
关闭目录 |
rewinddir() |
重置目录流 |
seekdir() / telldir() |
定位目录流 |
请告诉我:
我可以帮你确认它到底指什么,或者给你等价实现。