最后struct dirent中字段d_off的含义

时间:2013-05-23 12:42:57

标签: c linux unix

man getdensts说在d_off中保留了对下一个struct dirent的偏移量。但是在这个领域应该保留最后一个方向呢?我无法找到这个SVr4标准,但是男人什么都没说

2 个答案:

答案 0 :(得分:3)

“SVr4”表示Unix System V Release 4。 Solaris基于此,Solaris says

  

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

如果查看example in the Linux manpage,您会找到使用getdents的程序。它不依赖于最终条目的d_off,这显然是不确定的,而是依赖于getdents的返回值,以确定有多少条目。

顺便说一句,Linux联机帮助页还明确指出,您不应该使用getdents系统调用,而且GLibc甚至不支持它。请改用POSIX readdir界面。

答案 1 :(得分:0)

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