在 Ubuntu(Linux) 下,如果你说的是 opendir(),这是一个 C 语言标准库函数,用于打开目录并配合 readdir() 读取目录内容。下面给你一个完整、可用的示例。
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
DIR *opendir(const char *name);
DIR * 目录流指针NULL#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
perror("opendir");
return 1;
}
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
gcc opendir_test.c -o opendir_test
./opendir_test
opendir()
↓
readdir() 循环读取
↓
closedir()
dir = opendir("/home/user");
⚠️ 注意:
. 和 ..if (strcmp(entry->d_name, ".") == 0 ||
strcmp(entry->d_name, "..") == 0)
continue;
closedirclosedir(dir); // 必须关闭
Permission denied
解决:
sudo ./program
如果你指的是:
lsos.listdir() / os.scandir()opendir可以告诉我你用的 语言或场景,我可以给你更精确的示例。
需要我帮你写一个 递归遍历目录 或 判断文件类型(普通文件/目录) 的示例吗?