readdir
是一个用于读取目录内容的函数,它在 Linux 系统中的使用通常与 C 语言编程相关。readdir
函数定义在
头文件中,用于遍历目录中的条目。
下面是一个简单的示例,演示如何在 C 程序中使用 readdir
来列出指定目录中的所有文件和子目录:
#include#include #include #include int main() { DIR *dir; struct dirent *entry; // 打开目录 dir = opendir("."); if (dir == NULL) { perror("opendir"); return EXIT_FAILURE; } // 读取目录内容 while ((entry = readdir(dir)) != NULL) { printf("%s\n", entry->d_name); } // 关闭目录 closedir(dir); return EXIT_SUCCESS; }
代码说明:
- 包含头文件:需要包含
来使用目录操作函数。 - 打开目录:使用
opendir
函数打开一个目录。在这个例子中,我们打开当前目录"."
。 - 读取目录项:使用
readdir
函数逐个读取目录中的条目。每次调用readdir
返回一个指向dirent
结构的指针,该结构包含有关目录项的信息,如名称 (d_name
)。 - 关闭目录:使用
closedir
函数关闭已打开的目录。
注意事项:
readdir
返回的dirent
结构中的d_name
字段是一个以 null 结尾的字符串,表示目录项的名称。- 如果遇到错误,
readdir
返回NULL
。 - 使用完目录后,务必调用
closedir
关闭目录以释放资源。
这个程序会列出当前目录下的所有文件和子目录。你可以将 "."
替换为任何其他有效路径来读取不同目录的内容。