无法在C ++

时间:2016-11-20 19:51:01

标签: c++ cmd system cd

正如标题所说,我不能使用" cd"甚至是一个超级简单的C ++程序。更确切地说,我可以使用它(即它编译并且不会抛出任何错误),但它继续进行,好像我没有。

我的代码如下:

#include <iostream>
#include <cstdlib>

int main()
{
    system("cd");
    system("dir");

    system("cd C:\\Users\\Sajado");
    system("dir");

    return 0;
}

输出窗口两次都返回项目目录的目录列表。我也尝试过使用其他文件夹的路径,包括更高和更低的文件夹 cd .. 也没有效果。

如果有帮助,我正在使用代码块。我无论如何都没有C ++或cmd专家所以我可能会遗漏一些非常明显的东西。任何人都知道为什么这可能会行为不端?

2 个答案:

答案 0 :(得分:2)

作为explained here,您需要执行以下操作:

system("cd C:\\Users\\Sajado && dir");

由于

  

更改的目录仅持续系统的持续时间   命令。该命令启动一个单独的程序,该程序继承它   您的程序中的当前目录,但该程序退出时   当前目录随之死亡。

答案 1 :(得分:0)

正如@drescherjm所指出的,system调用是相互隔离的,所以如果你将工作目录改为一个,它将不会反映在后续的调用中。

你可以这样做: system("cd C:\\Users\\Sajado && dir");或者更好的是,使用dir命令的参数:system("dir C:\\Users\\Sajado");