为什么当我尝试system(“ cd PATH”); ,终端无法走到我的路

时间:2019-07-12 12:25:54

标签: c terminal

我遇到了麻烦:

system("cd mypath");

当我在C编程语言终端中尝试此操作时,它什么也没做。 我需要帮助。

2 个答案:

答案 0 :(得分:10)

system函数创建一个全新的过程,与调用该函数的过程分开。

每个进程都有自己的当前工作目录,该工作目录仅特定于该进程。更改一个进程的工作目录不会更改另一个进程的工作目录。

如果要更改自己进程的工作目录,请使用操作系统特定的功能。就像Linux(和其他POSIX系统,如macOS)上的chdir或Windows中的SetCurrentDirectory一样。


请注意,如果您在自己的进程中更改目录,则不会更改调用程序的shell或控制台的目录,因为它也是与您的程序不同的进程。

答案 1 :(得分:0)

看就做

chdir("path");

system("chdir PATH"); //linux