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。