【发布时间】:2017-04-04 04:02:13
【问题描述】:
正如标题所说,即使是超级简单的 C++ 程序,我也不能使用“cd”。更准确地说,我可以使用它(即它可以编译并且不会抛出任何错误),但它会继续运行,就像我没有一样。
我的代码如下:
#include <iostream>
#include <cstdlib>
int main()
{
system("cd");
system("dir");
system("cd C:\\Users\\Sajado");
system("dir");
return 0;
}
输出窗口两次返回项目目录的目录列表。我也尝试过使用其他文件夹的路径,无论是更高的还是更低的,并且
cd ..
也没有效果。
如果有帮助,我正在使用代码块。无论如何,我都不是 C++ 或 cmd 专家,所以我可能遗漏了一些非常明显的东西。任何人都知道为什么这可能行为不端?
【问题讨论】:
-
system()调用是独立的。每次你都会得到一个新的环境。要执行您想要的操作,请创建一个批处理文件并在单个system()中从 cmd.exe 执行该文件。 -
为什么不使用
chdir?