所以我有一个期末作业。它想让我用一些命令创建一个目录树,类似于CMD。例如,它将为我提供"make“,并且我将向树中添加目录。我把所有的命令,语法检查等等都写下来了,但是我不知道如何创建树。
我想为它做一个通用的树,但有一个问题。当我添加新文件夹时,我需要检查它是否已经存在,如果已经存在,则打印一条消息。我对树结构了解不多,但据我所知,为了检查它们,我需要做firstChild,secondChild……直到没有,这似乎不是最好的方法。
我需要这方面的点子。我不想让你做我的功课,只要给我一个学习指导就足够了。
发布于 2020-06-03 00:49:59
要检查目录路径是否存在,可以使用fstat (参见:https://linux.die.net/man/2/fstat)。
但是如果你有完整的路径,你将解析它,并检查是否存在每个部分的父级。
例如,如果路径是/usr/local/bin/test,您应该检查/usr是否存在,然后是/usr/local,然后是/usr/local/bin,最后是/usr/local/bin/test。
要做到这一点,你可以编写一个递归函数,在检查指定的路径是否存在之前,去掉最后一个文件夹部分(除非你在根目录下),然后调用它自己。
https://stackoverflow.com/questions/62155836
复制相似问题