當我們在命令行執行相應操作時,會有對應的結果顯示,如在ubuntu的終端輸入:ls,顯示如下:
tck@tck:~/learn/MyProcess/MyProcess$ ls
main.cpp MyProcess.pro MyProcess.pro.user
tck@tck:~/learn/MyProcess/MyProcess$
那麼當我們代碼中執行相應的bash命令,如何獲取返回的結果呢?
Qt提供了相應的接口,代碼如下:
#include <QProcess>
#include <QDebug>
int main()
{
//QProcess用於啓動外部程序
QProcess process;
//執行ls命令
process.start("ls");
//等待命令執行結束
process.waitForFinished();
//獲取命令執行的結果
QByteArray result_ = process.readAllStandardOutput();
//打印結果
qDebug() << result_;
}
打印的結果如下:
"main.o\nMakefile\nMyProcess\n"