1

我想得到这个命令的输出,例如:

system("dir C:\");

或:

QProcess::execute("cmd /c dir C:\");

怎么做 ?

谢谢 !

4

2 回答 2

5
QProcess process;
process.start("cmd /c dir C:\\");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput();
于 2012-10-04T14:48:39.580 回答
1

您可以将标准输出路径修改为从中读取的管道,但它会更容易使用popen()而不是system().

由于您似乎使用的是 Windows,因此您将使用_popen().

#include <stdio.h>

....

FILE *fp = _popen("dir c:\", "r");
....
while (!feof(fp)) {
    ....
}
fclose(fp);
于 2012-10-02T19:29:59.893 回答