据我所知,在cmd中,当我们想要切换驱动器时,我们写"[drive]:"例如:当我们要切换到D:\时,我们输入
D:
我尝试这个,它的工作.
但是现在,我想在我的C程序中应用这个过程,所以我使用着名的"系统"命令并输入:
system("D:");
之后我有一些代码,当我尝试执行它时,它会写入
the specified path was not found.
Run Code Online (Sandbox Code Playgroud)
所以我试图看看系统命令是否真的有效,我添加了另一个系统命令,如下所示:
system("chdir");
Run Code Online (Sandbox Code Playgroud)
验证工作目录,当我执行它时,它向我显示可执行文件的路径,这意味着它system("D:");不起作用.
任何解决方案请
可能是因为system()启动了一个新的实例cmd.exe,它运行你的命令然后退出.因此,它不会在调用之间保持状态,这与运行单个实例并以交互方式为其提供多个命令不同.
解决这个问题的一种方法是通过cmd.exe帮助文字暗示:
请注意,
'&&'如果用引号括起,则接受由命令分隔符分隔的多个命令.
因此,您应该能够运行一个命令,例如"d: && chdir"在一次调用中执行这两个操作cmd.exe.