解析工作,并且命令和参数的不同段被放入一个数组中,所以现在我有这个:
void cd()
{
chdir(commands[1].c_str());
reset();
}
我使用该目录中的有效路径运行它,但它没有改变。我错过了什么?
谢谢!
答案 0 :(得分:3)
你comment:
可以告诉目录没有改变,因为在我运行PWD(
getenv("PWD")
)之后,它仍然会显示启动该程序的原始目录。
您未正确检查当前工作目录。见chdir() not affecting environment variable PWD
而不是使用getenv("PWD")
使用getcwd
。