在Linux中使用C程序回到上一个目录。

问题描述 投票:1回答:3

我在目录中 /home/destination 我需要回到 /home 目录。有什么办法可以用C程序实现吗?

c posix
3个回答
4
投票

一个程序只能改变 其自身环境. 因此,该程序可以 chdir 但它不会改变父目录的当前目录。这就是为什么 cd 不能作为外部命令执行。


5
投票

你可以使用 chdir 的功能。

chdir(".."); /* change current working directory, go one level up */

1
投票

如果你想提升等级 chdir(".."); 会做的工作。但是,如果你想有这样的行为,如 cd - 那么你应该使用这个代码。

char *prev;
prev = getcwd(prev, 0); /*POSIX.1-2001: will malloc enough memory*/
/*fail if prev is NULL, do something*/
chdir(prev);
free(prev);
© www.soinside.com 2019 - 2024. All rights reserved.