1
我写在Qt的程序和当前使用POPEN运行Linux命令和读取输出到一个字符串:如何获取使用QProcess调用的程序的返回stdout?
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上运行。
谢谢
[读取QProcess输出到字符串]的可能重复(http://stackoverflow.com/questions/17344807/read-qprocess-output-to-string) –