想要在新终端中运行cpp可执行文件,然后将文件发送到输入流

时间:2016-06-14 04:05:06

标签: c++ linux istream xterm

我想在一个新的linux终端中运行一个c ++可执行文件,我正在使用它:

xterm -e executable options &disown

这是有效的。但是,我还需要通过命令行解析文本文件。通常,文件将通过以下方式解析:

./executable options < inputFile.txt

然后使用此函数由c ++代码处理该文件:

void parse_lines(istream &in){
    verify_version_number(in);
    read_variables(in);
    ...
}

但以下行不起作用:

xterm -e executable options < inputFile.txt &disown

如何在新终端中运行可执行文件,然后将inputFile.txt的内容发送到istream?

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用x-terminal-emulator代替xterm。也许它有效。

答案 1 :(得分:0)

如果在命令周围加上引号,它将作为单个命令发送到shell,特殊字符<&将在运行的shell中解释/ em> xterm而不是你开始的shell xterm:

xterm -e "executable options < inputFile.txt &disown"