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

0 c terminal

我有一个麻烦:

system("cd mypath");
Run Code Online (Sandbox Code Playgroud)

当我在C编程语言中尝试此操作时,终端不执行任何操作。我需要帮助。

Som*_*ude 10

system函数创建了一个全新的过程,与调用该函数的过程不同。

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

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


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