gpt4 book ai didi

c++ - Qprocess 弄乱了我的 linux 命令(我认为)。怎么修?

转载 作者:IT王子 更新时间:2023-10-29 00:58:50 25 4
gpt4 key购买 nike

<分区>

我需要强制我的 c++ QT4 应用程序从 linux 命令读取结果。我正在尝试使用 Qpr​​ocess,但一旦我的命令变得复杂,它就会以某种方式变得困惑(只是猜测)并且无法正常工作。

这里我试着为你做一个小例子:

QProcess process;
command = "ls -l | grep a | sort";
qDebug() << "Execute command -> "+command;
process.start( command );
process.waitForFinished(-1);
QString processStdout = process.readAllStandardOutput();
QString processStderr = process.readAllStandardError();
qDebug() << "Std out -> "+processStdout;
qDebug() << "Std err -> "+processStderr;

这将打印:

Execute command -> ls -l | grep a | sort
"Std out -> "
"Std err -> ls: |: No such file or directory

如果从控制台运行 while 将正确打印文件名。

如果我用一些更简单的东西替换 comman,比如 command = "ls -l"; 它工作起来很流畅该错误由操作系统返回标准错误。

因此我猜想用于命令的 Qstring 以某种方式被操纵了。知道发生了什么事吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com