0

我正在做一个项目,遇到了一个小问题。它被设计成一个简单的外壳,现在,我正在输入内置命令(pwd、cd、exit)。除了 CD 之外,我已经完成了所有工作。

解析有效,命令和参数的不同部分被放入一个数组中,所以现在我有这个:

void cd()
{
  chdir(commands[1].c_str());

  reset();
}

我使用该目录中的有效路径运行它,但它不会改变。我错过了什么?

谢谢!

4

1 回答 1

3

评论

可以看出目录没有改变,因为在我运行 PWD 之后,(getenv("PWD")),它仍然显示启动程序的原始目录。

您正在错误地检查当前工作目录。请参阅chdir() 不影响环境变量 PWD

而不是使用getenv("PWD")use getcwd

于 2016-02-16T05:30:12.787 回答