私はいくつかのUnixには、次のようなコードで自分のアプリケーションからのコマンドを実行するシステムを()を使用しています:rmResultがゼロであるとRMの作品が、私はコンソールでこのエラーを取得しながら、しかしなぜsystem()はcwdが不明であると不平を言うのですか?
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;
}
:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
私は間違っていますが、どうすればこのメッセージが消えますか?
なぜあなたは最初にそのようにしていますか?ディレクトリとその内容をホースするためにネイティブの構造を使用するだけではどうですか? – richo
私はいろいろなコマンドを実行しているので、system()を使うほうが簡単だったようです。 – WilliamKF
シェルをスクリプト化する場合は、シェルスクリプトを使用してみませんか? – dreamlax