【问题标题】:Where is readdir in linux?linux中的readdir在哪里?
【发布时间】:2011-11-28 03:45:41
【问题描述】:

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

只是一个例子:

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

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

我不要求任何代码。只是 readdIR 所在的文件路径,或调用 readdIR 的系统调用。

提前致谢。

【问题讨论】:

    标签: c linux system call


    【解决方案1】:

    你的意思不是很清楚。您要使用的readdir 函数是标准库的一部分,将自动链接。

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

    #include <dirent.h>
    

    您可以使用以下命令获取有关readdir 函数的更多信息:

    man 3 readdir
    

    【讨论】:

    • 我想我现在明白了...我一直在看这种各种错误...非常感谢您的澄清哈哈。
    • 有一个低级的readdir 系统调用,但它是Linux 特有的,没有简单的调用方法。您想使用可移植的 POSIX readdir 库调用,它在 dirent.h 中定义。
    【解决方案2】:

    系统调用是getdents(2),但是您应该继续使用readdir 包装器以实现可移植性。

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 2015-12-02
      • 2011-02-22
      • 2010-09-16
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多