我在目录中 /home/destination
我需要回到 /home
目录。有什么办法可以用C程序实现吗?
一个程序只能改变 其自身环境. 因此,该程序可以 chdir
但它不会改变父目录的当前目录。这就是为什么 cd
不能作为外部命令执行。
你可以使用 chdir
的功能。
chdir(".."); /* change current working directory, go one level up */
如果你想提升等级 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);