Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么';system()函数不能工作吗?_C_Cmd_System - Fatal编程技术网

C 为什么';system()函数不能工作吗?

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"); 为了验证工

我知道,在cmd中,当我们想要切换驱动器时,我们会写“[drive]:”示例: 当我们想切换到D:\时,我们键入

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
?我尝试修改一些文件,并希望以交互方式转到目录。如果有其他选择,请告诉我