检查您是否位于主目录(linux)

标签 c linux path directory

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

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

我打开父目录的代码是:

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

我只需要添加一个while (dir != home)语句

最佳答案

使用getenv()像这样:

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

然后检查 homedir 是否是您已下降到的目录。


如果您正在寻找同时适用于 Windows 和 Linux 的东西,请查看 this .

关于检查您是否位于主目录(linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615918/

相关文章:

c - 如何使用函数指针数组?

javascript - 文本未转换为正确的 svg 代码 - Opentype Javascript

c - while (( c = getc(file)) != EOF) 循环不会停止执行

c++ - 寄存器变量地址

Python - 在远程脚本中捕获信号和异常

linux - websphere 8.5.5 自定义工具箱启动失败

linux - 自动挂载在 Linux/etc/fstab 中不起作用

python - 使用 Bash 修复 Python 库的 PATH

java - 遍历Java中的所有文件

python - 使用 Cython 作为 Python 到 C 的转换器