centos

CentOS 中如何正确使用 readdir

小樊
86
2025-02-09 02:06:21
栏目: 智能运维

readdir 是一个用于读取目录句柄中条目的函数

  1. 首先,确保你已经安装了 C 库(如 glibc)。在 CentOS 上,这通常是默认安装的。

  2. 创建一个名为 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;
}
  1. 使用 gcc 编译器编译代码:
gcc list_directory_contents.c -o list_directory_contents
  1. 运行编译后的程序:
./list_directory_contents

这个程序将列出当前目录中的所有文件和子目录。你可以根据需要修改代码以适应其他目录路径或执行其他操作。

注意:readdir 函数返回的是一个指向 dirent 结构体的指针。你可以通过该结构体访问条目的名称(d_name)、大小(d_size)、权限(d_mode)等信息。更多关于 dirent.h 库的信息,请参阅 man page

0
看了该问题的人还看了