我有一个麻烦:
system("cd mypath");
当我在C编程语言中尝试此操作时,终端不执行任何操作。我需要帮助。
该system
函数创建了一个全新的过程,与调用该函数的过程不同。
每个进程都有其自己的当前工作目录,该工作目录仅特定于该进程。更改一个进程的工作目录不会更改另一个进程的工作目录。
如果要更改自己进程的工作目录,请使用特定于操作系统的功能。就像chdir
在Linux(和其他POSIX系统,例如macOS)上或SetCurrentDirectory
在Windows中一样。
请注意,如果您在自己的进程中更改目录,则不会更改调用程序的shell或控制台的目录,因为它也是与您的程序不同的进程。