dirent.h 文件
_DNAME_MAX 和 PATH_MAX 常量分别指定在所有类型的文件系统中的最大文件名和路径名。 由特定文件系统定义的常量仅适用于该文件系统。 通过使用特定于文件系统的常量和目录结构,很难将代码移植到不同类型的文件系统中。
用途
描述独立于文件系统的目录条目的格式。
描述
/usr/include/dirent.h 文件描述目录条目的格式,而不引用底层系统的类型。
在 dirent.h 文件中定义的 dirent 结构用于目录访问操作。 通过使用这些访问操作和 迪伦特 结构及其关联的常量和宏,可以使您免受实现目录的详细信息的攻击,并为所有类型的文件系统中的目录提供一致的界面。
对于每个目录条目, 迪伦特 结构包含以下字段:
ulong_t d_offset; /* actual offset of this entry */
ino_t d_ino; /* inode number of entry */
ushort_t d_reclen; /* length of this entry */
ushort_t d_namlen; /* length of string in d_name */
char d_name[_D_NAME_MAX+1]; /* name of entry (filename) */_D_NAME_MAX 是一个常量,用于表示所有文件系统的文件名中的最大字节数。 (与此常量相关的是 PATH_MAX 常量,它指定文件的完整路径名中的最大字节数 (不包括终止空字节)。)
_D_NAME_MAX 常量的值特定于每一种类型的文件系统类型。 它可以通过使用 路径配置 或 fpathconf 子例程来确定。
迪伦特 结构的大小取决于文件名称中的字节数。