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