C 为什么';system()函数不能工作吗?
我知道,在cmd中,当我们想要切换驱动器时,我们会写“[drive]:”示例: 当我们想切换到D:\时,我们键入C 为什么';system()函数不能工作吗?,c,cmd,system,C,Cmd,System,我知道,在cmd中,当我们想要切换驱动器时,我们会写“[drive]:”示例: 当我们想切换到D:\时,我们键入 D: 我尝试了这个,它成功了 但是现在,我想在我的C程序中应用这个过程,所以我使用了著名的“system”命令并键入: 系统(“D:”) 之后我有一些代码,当我尝试执行它时,它会写 the specified path was not found. 所以我试着看看系统comand是否真的有效,我添加了另一个系统comand,如下所示: system("chdir"); 为了验证工
D:
我尝试了这个,它成功了
但是现在,我想在我的C程序中应用这个过程,所以我使用了著名的“system”命令并键入:
系统(“D:”)代码>
之后我有一些代码,当我尝试执行它时,它会写
the specified path was not found.
所以我试着看看系统comand是否真的有效,我添加了另一个系统comand,如下所示:
system("chdir");
为了验证工作目录,当我执行它时,它会向我显示可执行文件的路径,这意味着系统(“D”)代码>不工作
请提供任何解决方案,可能是因为system()
启动了cmd.exe
的新实例,该实例运行您的命令,然后退出。因此,它不会在调用之间保持状态,这与运行单个实例并以交互方式为其提供多个命令不同
cmd.exe
的帮助文本暗示了解决此问题的一种方法:
请注意,多个命令由命令分隔符&&
如果被引号包围,则接受字符串
因此,您应该能够运行类似于“d:&&chdir”
的命令,在一次调用cmd.exe
中执行这两个操作,这可能是因为system()
启动了cmd.exe
的新实例,该实例运行您的命令,然后退出。因此,它不会在调用之间保持状态,这与运行单个实例并以交互方式为其提供多个命令不同
cmd.exe
的帮助文本暗示了解决此问题的一种方法:
请注意,多个命令由命令分隔符&&
如果被引号包围,则接受字符串
因此,您应该能够运行类似于“d:&&chdir”
的命令,在一次调用cmd.exe
时执行这两个操作。您使用的是什么操作系统?您为什么决定使用system
?我尝试修改一些文件,并且希望以交互方式转到目录。如果有其他选择,请告诉我您使用的是什么操作系统?您为什么决定使用system
?我尝试修改一些文件,并希望以交互方式转到目录。如果有其他选择,请告诉我