使用QProcess的start方法
- 不传递参数
#include<QProcess>
QProcess pro;
pro->start("ls -l");
pro->waitForFinished();
qDebug() << pro->readAllStandOutput();
这种方法比较快捷,直接将参数-l
作为整体执行,随后读取输出结果。但这种方法可能会导致执行失败,因为程序没有读到想要的参数等原因,而返回错误的结果。 比较稳妥的是第二种方法。
- 使用QStringList传递参数
#include<QProcess>
QProcess pro;
pro->start("ls", QStringList() << "-l" << "...");
pro->waitForFinished();
qDebug() << pro->readAllStandOutput();
这种方法能够有效地传递参数给执行程序。
使用system方法
#include<stdlib.h>
system("ls -l");
这种方法是c++标准库的函数,简单快捷。