Подтвердить что ты не робот

Члены структуры Dirent

Я начал работать с библиотекой dirent.h, и наткнулся на очень полезный член структурирования struct dirent, который struct dirent * p- > d_name в моей книге. Но, к несчастью, в нем нет других членов этой структуры;

Мне было интересно, что еще есть члены этой структуры и для чего они используются?

Привет

4b9b3361

Ответ 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