温馨提示×

readdir函数返回哪些信息

小樊
53
2025-07-16 13:09:09
栏目: 编程语言

readdir 函数是用于读取目录内容的 POSIX 标准函数。它在成功时返回一个指向 dirent 结构的指针,该结构包含关于目录中下一个条目的信息。如果到达目录流的末尾,则返回 NULL

dirent 结构通常包含以下字段:

  • d_ino: 目录项的 inode 号。
  • d_off: 目录项在目录文件中的偏移量。
  • d_reclen: dirent 结构的长度。
  • d_name: 目录项的名称,是一个以空字符结尾的字符串。

示例代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>

int main() {
    DIR *dir;
    struct dirent *entry;

    dir = opendir("."); // 打开当前目录
    if (dir == NULL) {
        perror("opendir");
        return EXIT_FAILURE;
    }

    while ((entry = readdir(dir)) != NULL) {
        printf("Name: %s\n", entry->d_name);
    }

    closedir(dir);
    return EXIT_SUCCESS;
}

在这个示例中,readdir 函数被用来遍历当前目录中的所有条目,并打印出每个条目的名称。注意,readdir 返回的 dirent 结构中的 d_name 字段只包含文件名,而不包括路径。如果你需要完整的路径,你需要将目录名和文件名拼接起来。

0