中国石油销售公司网站建设,个人做理财网站,网络运维工程师教程,萝岗电子商务网站建设问题描述:
在Qt中,使用system和QProcess执行命令,system执行的命令,我们通常不需要获取stdout的输出结果,所以只需要得到返回结果,知道成功失败即可。
而用到QProcess,多半是要获取输出的返回信息。
这里的返回信息只要是标准输出的即可,当然了,也可以是别的channe…问题描述:
在Qt中,使用system和QProcess执行命令,system执行的命令,我们通常不需要获取stdout的输出结果,所以只需要得到返回结果,知道成功失败即可。
而用到QProcess,多半是要获取输出的返回信息。
这里的返回信息只要是标准输出的即可,当然了,也可以是别的channel,只不过俺未曾见过。
一般情况下,执行命令可以很简单的如下方式: QProcess process1;QString cmd = "free -h | grep 'Mem' ";process1.start(cmd);process1.waitForFinished();QString result = process1.readAll();qDebug()"result===="result;// if ( process1.exitCode() ) 省略,如果你有用的话,可以加上。
执行单个命令,管道命令,都是可以的,但是,得区分命令的类型。如果你碰上了这样子无法执行,得到的结果是空,那么怎么办? 解决办法:
上面的例子或许不够生动,再举个栗子,功能都是获取系统内存大小: