2011-11-28 51 views
0

我在编辑linux v2.18.8(CentOS5)以包含学校项目的文件属性。我们必须实现的一个组件是列出所有属性名称(属性是存储在与文件相同级别的隐藏目录中的文本文件)。linux在哪里readdir?

只是一个例子:

this.jpg是/ Desktop/Testing中的一个文件。添加自定义用户属性时,会创建一个包含属性的文件夹。所以,如果我添加属性“Creator”并将它的值设置为“bob”,您将获得一个dir /Desktop/Testing/.this.jpg_attr/Creator(如果您打开Creator,它的内容将会是“bob”)。

我很感兴趣,做的是在列出的属性的文件夹的所有用户创建属性(或从例如/Desktop/Testing/.this.jpg_attr/的所有文件)我知道,我想用readdir调用,但我不知道在linux安装程序中找到它。如果任何人都可以给我任何关于在哪里寻找readdir的指导,我想我可以弄清楚如何操纵它。

我不想问任何代码。只是READDIR所在的文件路径,或系统调用READDIR的地方。

谢谢先进。

回答

10

这并不完全清楚你的意思。您要使用的readdir函数是标准库的一部分,并且会自动链接。

也许你在问如何包含声明readdir的头文件。在这种情况下:

#include <dirent.h> 

你可以得到有关使用此命令的readdir功能的更多信息:

man 3 readdir 
+0

啊好的。所以readdir本身不是系统调用呢? – NuGy

+0

我想我现在明白了......我一直在寻找这种各种各样的错误...非常感谢你的澄清哈哈。 – NuGy

+1

有一个低级的'readdir'系统调用,但它是Linux特有的,并没有简单的方法来调用它。你想使用'dirent.h'中定义的可移植POSIX'readdir'库调用。 –

0

系统调用是getdents(2),但是你应该继续使用readdir包装的便携性。