Члены структуры Dirent
Я начал работать с библиотекой dirent.h, и наткнулся на очень полезный член структурирования struct dirent, который struct dirent * p- > d_name в моей книге. Но, к несчастью, в нем нет других членов этой структуры;
Мне было интересно, что еще есть члены этой структуры и для чего они используются?
Привет
Ответы
Ответ 1
Структура struct dirent
относится к записи в каталоге.
http://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html
В linux он определяется как:
struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* offset to the next dirent */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported
by all file system types */
char d_name[256]; /* filename */
};
: man readdir
Или просто найдите "dirent.h" в каталоге include.
Ответ 2
Есть только два члена (из wikipedia):
-
ino_t d_ino
- серийный номер файла
-
char d_name[]
- имя записи (не будет превышать размер NAME_MAX)
Посмотрите на unix spec.
Ответ 3
в дополнение к приведенному выше ответу @Binyamin Sharet:
off_t d_off - file offset
unsigned short int d_reclen - length of the dirent record
unsigned short int d_namlen - length of name
unsigned int d_type - type of file