Чтение вывода консоли отдельного процесса

Привет я запускаю отдельный процесс из Qt, используя QProcess. Я хочу прочитать консольный вывод процесса в QString. Вот код

#include <QCoreApplication>
#include <QProcess>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess proc;
proc.startDetached("C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe",
QStringList() << "/c" << "c:\\Qt\\Qt5.3.0\\Tools\\QtCreator\\bin\\tryScript\\firstBatch.bat");proc.waitForFinished();
qDebug() << proc.readAllStandardOutput();

return a.exec();
}

2

Решение

QProcess::startDetached не является функцией-членом, это статическая функция, поэтому

proc.startDetached(...)

эквивалентно :

QProcess::startDetached(...)

Следовательно, в вашем proc переменная для отдельного процесса. Использовать start() метод, если вы хотите запустить процесс как подпроцесс вашего приложения и прочитать его вывод.

2

Другие решения