0

system() を使用して、次のようなコードでアプリケーションからいくつかの Unix コマンドを実行しています。

std::stringstream command;

command << "rm -rf /some/directory";

int rmResult = system(command.str().c_str());

if (rmResult != 0) {
  clog << "Error: Failed to remove old output directory '" << command.str()
       << "' (" << errno << ") " << strerror(errno) << ".\n";
  throw;
}

ただし、rmResult がゼロで rm が機能している間、コンソールに次のエラーが表示されます。

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory

このメッセージを消すにはどうすればよいですか?

4

1 に答える 1

2

どうやら、これは、現在の作業ディレクトリではなかったにもかかわらず、現在 pushd スタックに存在しないディレクトリがあることが原因でした。なくなったディレクトリのスタックを一掃すると、メッセージが消えました。

于 2011-01-04T03:05:34.750 に答える