在C ++程序中运行linux命令

时间:2017-04-07 17:41:06

标签: c++ linux

我试图在c ++程序中运行以下命令:

class Foo {
  get thing() {
    if (this._thing) {
      return this._thing;
    }

    var self = this;
    return this._thing = {
      get x() {
        return self._x;
      }

      set x(value) {
        self._x = value;
      }
    };
  }

  set thing(value) {
    this._x = value.x;
    this._y = value.y;
  }
}

string cmd("strings -n 3 < BinaryFile > ascii.txt"); system(cmd.c_str(); 是一个包含BinaryFile

的字符串

当我这样运行时,我得到以下输出:

/home/test/BinaryFile

如果我尝试以下方法:

sh: BinaryFile: No such file or directory

我收到这些错误:

string cmd("strings -n 3 < BinaryFile.c_str() > ascii.txt");
system(cmd.c_str();

如何让它正常运行?

1 个答案:

答案 0 :(得分:0)

您需要明确构建命令行:

string cmd("strings -n 3 < " + BinaryFile + " > ascii.txt");
system(cmd.c_str());