4

man getdensts 说在 d_off 中保留了到下一个结构 dirent 的偏移量。但是,在这个领域应该保留什么以备不时之需?我找不到这个 SVr4 标准去那里看,但是男人什么也没说

4

2 回答 2

4

“SVr4”是指Unix System V Release 4。Solaris 基于此,Solaris 说

d_off条目包含一个只能由生成它的文件系统解释的值。它可以作为偏移量提供,lseek(2)以查找目录中当前条目之后的条目。

如果您查看Linux 联机帮助页中的示例,您会发现一个使用getdents. 它不依赖于d_off最终条目的 (这显然是不确定的),而是依赖于 的返回值getdents来确定有多少条目。

顺便说一句,Linux 联机帮助页也非常清楚地指出您不应该使用getdents系统调用,而且 GLibc 甚至不支持它。请改用 POSIXreaddir接口。

于 2013-05-23T16:51:11.067 回答
0

我会说它是0,它不能指示任何下一个条目,因为该值隐含地需要更大0并且也不会是错误的,因为它指向一个有效的条目,即第一个条目。

于 2013-05-23T14:48:03.943 回答