【问题标题】:Files seacher in Ubuntu Using C++ [closed]使用 C++ 的 Ubuntu 中的文件搜索器 [关闭]
【发布时间】:2012-10-06 09:27:57
【问题描述】:

我打算用 C++ 为 Ubuntu OS 制作一个文件搜索器。我的原始算法(尚未在 C++ 中实现)花费大量时间,有时可能无法搜索文件,因此我决定在 OS 文件表/目录中搜索文件,因为所有文件的位置和名称文件和文件夹已经存在于其中。所以我的问题是:

是否有任何系统调用来访问 C++ 中的 Ubuntu 文件表/目录

【问题讨论】:

    标签: c++ linux ubuntu posix


    【解决方案1】:

    我不明白你的问题,因为 Ubuntu 没有引入新的文件系统或其他与用户空间相关的东西,所以你可以为 Ubuntu 编写代码,就像你可以为任何 GNU/linux 操作系统编写代码一样,但确实有很好的实用程序已经到位,例如 locate 和 find。

    【讨论】:

    • 我知道这些终端命令,但我正在寻找制作这个程序的线索,以便我能够实际了解文件搜索软件的工作原理
    • 请记住,这些是开源实用程序,如果您不喜欢终端方法,请浏览它们的源代码并尝试充分利用它们。
    • 你也可以使用strace 来了解他们在做什么系统调用。
    【解决方案2】:

    您应该知道 Ubuntu 只是 Linux 的一个发行版,而 Linux 又具有标准的 Unix 系统 API(通常称为“POSIX”)。因此,您最好使用术语“Linux”或“Unix”甚至“POSIX”而不是“Ubuntu”来询问/搜索。

    在 Unix 中,用于检查目录的基本系统调用是:

    • opendir、readdir 和 closedir 以及用于读取目录内名称的变体

    • stat 家族(stat、fstat、lstat)用于从普通名称中获取真实信息(文件类型、大小等)。

      李>

    如果您查看这些系统调用的手册页底部,您会在“SEE ALSO”部分找到更多相关的系统调用。

    【讨论】:

    • 我之所以提到 Ubuntu,是因为我认为 Ubuntu 的文件系统可能与其他基于 Unix 的操作系统不同..
    • Ubuntu 像任何其他 Linux 一样使用 ext4 文件系统。另外:文件系统的格式不会影响编程 API。该映射是内核的工作。
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    相关资源
    最近更新 更多