c语言 - 为什么当我尝试系统( "cd PATH" );,终端无法转到我的路径



我有以下问题:

system("cd mypath");

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

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

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

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


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

看起来只是做

chdir("path");

system("chdir PATH"); //linux

最新更新