【发布时间】:2012-09-23 16:45:20
【问题描述】:
我想得到这个命令的输出例如:
system("dir C:\");
或:
QProcess::execute("cmd /c dir C:\");
怎么做?
谢谢!
【问题讨论】:
我想得到这个命令的输出例如:
system("dir C:\");
或:
QProcess::execute("cmd /c dir C:\");
怎么做?
谢谢!
【问题讨论】:
QProcess process;
process.start("cmd /c dir C:\\");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput();
【讨论】:
您可以将标准输出路径修改为从中读取的管道,但使用popen() 而不是system() 会更容易。
由于您似乎使用的是 Windows,因此您将使用 _popen()。
#include <stdio.h>
....
FILE *fp = _popen("dir c:\", "r");
....
while (!feof(fp)) {
....
}
fclose(fp);
【讨论】: