readdir 是一个用于读取目录句柄中条目的函数
首先,确保你已经安装了 C 库(如 glibc)。在 CentOS 上,这通常是默认安装的。
创建一个名为 list_directory_contents.c 的文件,并将以下代码粘贴到文件中:
#include <stdio.h> #include <dirent.h> int main() { DIR *dir; struct dirent *entry; // 打开目录 dir = opendir("."); // 使用当前目录,也可以使用其他目录路径 if (dir == NULL) { perror("Error opening directory"); return 1; } // 读取目录中的每个条目 while ((entry = readdir(dir)) != NULL) { printf("%s\n", entry->d_name); } // 关闭目录 closedir(dir); return 0; } gcc list_directory_contents.c -o list_directory_contents ./list_directory_contents 这个程序将列出当前目录中的所有文件和子目录。你可以根据需要修改代码以适应其他目录路径或执行其他操作。
注意:readdir 函数返回的是一个指向 dirent 结构体的指针。你可以通过该结构体访问条目的名称(d_name)、大小(d_size)、权限(d_mode)等信息。更多关于 dirent.h 库的信息,请参阅 man page。