【发布时间】:2015-09-23 01:08:04
【问题描述】:
我正在用 Qt 编写一个程序,目前正在使用 popen 运行一个 linux 命令并将输出读入一个字符串:
QString Test::popenCmd(const QString command) {
FILE *filePointer;
int status;
int maxLength = 1024;
char resultStringBuffer[maxLength];
QString resultString = "";
filePointer = popen(command.toStdString().c_str(), "r");
if (filePointer == NULL) {
return 0;
}
while (fgets(resultStringBuffer, maxLength, filePointer) != NULL) {
resultString += resultStringBuffer;
}
status = pclose(filePointer);
if (status == 0) {
return resultString;
} else {
return 0;
}
}
所以我想放弃上面的代码,因为如果可能的话,我更愿意使用 Qt 提供的更高级别的工具。有没有人有一个如何使用 QProcess 做到这一点的例子,或者至少有一个大概的想法?
不管怎样,这将在 Linux 上运行。
谢谢
【问题讨论】:
标签: c++ linux qt popen qprocess