在 Ubuntu(Linux)下,opendir 是 C 语言里用来“打开目录”的函数,不是命令行命令。下面给你一个清晰说明和示例。
opendir 是 POSIX 标准中的函数,用于打开一个目录,返回一个 DIR* 指针,之后可以用 readdir 读取目录内容。
头文件
#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("/no/such/dir"); // 返回 NULL
权限不足
opendir("/root"); // 普通用户会失败
忘记 closedir
打开目录后必须用
closedir(dir);关闭
那不用 opendir,直接用:
cd /path/to/dir
ls
或图形界面:
xdg-open /path/to/dir
如果你是想:
可以告诉我,我给你对应示例。