Qt执行bash命令并获取返回结果

当我们在命令行执行相应操作时,会有对应的结果显示,如在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"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章