无法从通过QProcess :: execute生成的进程中读取stdin

时间:2012-12-27 14:03:27

标签: qt qprocess

示例代码

int main(int, char * argv[]) {
    QString input = QTextStream(stdin).readLine();
    QTextStream(stdout) << input << "\nWe need to go deeper...\n";
    return QProcess::execute(argv[0]);
}

试运行

./test 
level 1<Enter>
level 1
We need to go deeper...
level 2<Enter>

并且没有任何进展...

PS。 system()有效,但需要编写代码才能正确转义命令行参数。

1 个答案:

答案 0 :(得分:0)

使用execvp()而不是QProcess :: execute()解决。