c dirent 结构体 打印所有信息
时间: 2023-11-02 11:16:28 浏览: 71
可以使用 C 语言中的 `printf` 函数按照格式打印出 `dirent` 结构体中的所有信息。下面是一个示例代码:
```c
#include <stdio.h>
#include <dirent.h>
int main(void) {
DIR *dir;
struct dirent *entry;
dir = opendir(".");
if (dir == NULL) {
perror("opendir failed");
return -1;
}
while ((entry = readdir(dir)) != NULL) {
printf("inode number: %ld\n", entry->d_ino);
printf("offset to next dirent: %ld\n", entry->d_off);
printf("length of this record: %d\n", entry->d_reclen);
printf("type of file: %d\n", entry->d_type);
printf("filename: %s\n", entry->d_name);
}
closedir(dir);
return 0;
}
```
该程序使用 `opendir` 函数打开当前目录,然后使用 `readdir` 函数读取目录中的每个条目,将其转换为 `dirent` 结构体,并使用 `printf` 函数打印出结构体中的各个字段。最后使用 `closedir` 函数关闭目录。