【问题标题】:Checking if you're in home directory (linux)检查您是否在主目录中(linux)
【发布时间】:2017-07-25 17:59:50
【问题描述】:

我正在编写一个从给定路径提升文件系统层次结构的程序,所以如果给定路径是/home/users/foo/bar,它将返回到第一个目录,在本例中为/home

检测此问题的最佳方法是什么?我唯一的解决方案是检查有多少退格键,但有更好的方法吗?恐怕这可能不适用于不同的发行版。

我打开父目录的代码是:

snprintf(ptr2, path_max_size, "%s/..", argv[1]);
d = opendir(ptr2);

我只需要添加一个while (dir != home) 声明

【问题讨论】:

  • echo ~ 在 shell 上显示主目录。现在您应该可以将当前目录与主目录进行比较

标签: c linux path directory


【解决方案1】:

像这样使用getenv()

snprintf(homedir, MAX_PATH, "%s", getenv("HOME"));

然后检查 homedir 是否是你所下降到的。


如果您正在寻找适用于 Windows 和 Linux 的软件,请查看this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2011-09-17
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多