我想获得此命令的输出,例如:
system("dir C:\");
或者:
QProcess::execute("cmd /c dir C:\");
怎么做?
谢谢!
答案 0 :(得分:5)
QProcess process;
process.start("cmd /c dir C:\\");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput();
答案 1 :(得分:1)
您可以将标准输出路径修改为您读取的管道,但使用popen()
代替system()
会更容易。
由于您似乎使用的是Windows,因此您可以使用_popen()
。
#include <stdio.h>
....
FILE *fp = _popen("dir c:\", "r");
....
while (!feof(fp)) {
....
}
fclose(fp);