在 Ubuntu(Linux)下,opendir 是 C 语言标准库(POSIX) 里用于打开目录的函数,通常配合 readdir、closedir 一起使用,用来遍历目录中的文件和子目录。
opendir 用在 需要读取/遍历目录内容 的 C/C++ 程序中,比如:
ls 类似功能#include <dirent.h>
DIR *opendir(const char *name);
name:目录路径(如 "/home/user" 或 ".")DIR* 目录流指针NULL,并设置 errno#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return 1;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
编译:
gcc test.c -o test
./test
| 函数 | 作用 |
|---|---|
opendir |
打开目录 |
readdir |
读取目录项 |
closedir |
关闭目录 |
rewinddir |
重新从头读目录 |
seekdir / telldir |
定位目录位置 |
opendir 返回 NULLPermission deniedclosedir → 文件描述符泄漏如果你是想问:
可以告诉我,我可以直接对比说明。