使用popen更改目录

时间:2017-07-06 04:10:44

标签: c popen cd

我可以使用popen来运行任何程序,但显然不是cd

#include <stdio.h>
void main() {
    FILE *fp = popen("cd", "w");
    pclose(fp);
}

我希望将目录更改为主页,但没有任何反应。更改为&#34; r&#34;或更改为例如&#34; cd~&#34;,&#34; cd /&#34;,没有帮助。使用system具有大致相同的结果,即适用于除cd以外的任何内容。那怎么办?答案here对我不起作用。谢谢。

1 个答案:

答案 0 :(得分:0)

cd通常是shell内部命令,而不是可执行文件。

即使它是,通常没有进程可以更改另一个进程的工作目录,所以它会更改“cd”进程的cwd,然后在退出时它就会消失。