【问题标题】:Directory trees in CC中的目录树
【发布时间】:2020-06-02 15:43:13
【问题描述】:

所以我有一个期末作业。它希望我用一些命令创建一个目录树,类似于 CMD。例如,它会给我“make”,我会将目录添加到树中。我把所有的命令、语法检查等都记下来了,但我想不出如何创建树。

我想为它制作一棵通用树,但有一个问题。当我添加新文件夹时,我需要检查它是否已经存在,如果存在则打印一条消息。我对树结构了解不多,但据我所知,要检查它们,我需要做 firstChild,secondChild ......直到没有似乎不是最好的方法。

我需要这方面的想法。我不想让你做我的功课,只要给我一个学习指南就足够了。

【问题讨论】:

  • 不要害怕分享你已经拥有的东西(例如你无法发现文件夹是否已经存在的树实现)。这将使我们更容易提供指导。 ;)

标签: c data-structures tree


【解决方案1】:

要检查目录路径是否存在,您可以使用 fstat(参见:https://linux.die.net/man/2/fstat)。

但如果你有完整的路径,你将解析它并检查所有部分是否存在。

例如,如果路径是 /usr/local/bin/test,您应该检查是否存在 /usr,然后是 /usr/local,然后是 /usr/local/bin,最后是 /usr/local/bin/test

为此,您可以编写一个递归函数调用自身,并在检查指定路径是否存在之前剥离最后一个文件夹部分(除非您处于根级别)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2011-06-04
    • 1970-01-01
    • 2010-10-15
    • 2021-09-28
    相关资源
    最近更新 更多