Frage

I have started working with dirent.h library and I came across a very useful member of "struct dirent" structer which struct dirent *p->d_name in my book. But unfortunatly it doesn't states any other members of this structure;

I was wondering what else are the members of this structure and what are they used for?

Regards

War es hilfreich?

Lösung

The structure, struct dirent refers to directory entry.

http://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html

In linux it is defined as:

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 */
};

refer: man readdir

Or just look for "dirent.h" in the include directory.

Andere Tipps

There are only two members (from wikipedia):

  • ino_t d_ino - file serial number
  • char d_name[] - name of entry (will not exceed a size of NAME_MAX)

Take a look at the unix spec as well.

in addition to above answer of @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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top