c++ - 将 QProcess 输出读取到字符串

标签 c++ qt stdout qstring qprocess

我有一个像这样使用 QProcess 的代码。

int main(int argc, char *argv[])
{
    int status=0;
    QProcess pingProcess;
    QString ba;
    QString exec = "snmpget";
    QStringList params;
     params << "-v" << "2c" << "-c" << "public" << "10.18.32.52" <<    ".1.3.6.1.4.1.30966.1.2.1.1.1.5.10";
    status=pingProcess.execute(exec, params);
    pingProcess.close();
}

这会输出以下内容。

SNMPv2-SMI::enterprises.30966.1.2.1.1.1.5.10 = STRING: "0.1"

我想将此输出作为字符串读取(读取)。我搜索了这个,我找不到解决方案。提前致谢。

最佳答案

你试过 QByteArray QProcess::readAllStandardOutput() docs - here

QString 可以从 QByteArray 实例化:

QString output(pingProcess.readAllStandardOutput());

正如其他人提到的,我加入了他们,你不应该使用 execute 方法并将其替换为:

pingProcess.start(exec, params);
pingProcess.waitForFinished(); // sets current thread to sleep and waits for pingProcess end
QString output(pingProcess.readAllStandardOutput());

关于c++ - 将 QProcess 输出读取到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17344807/

相关文章:

perl - 如果不在Perl中关闭文件句柄会怎样?

c++ - Delphi - 从静态链接的 MSVC++ 编译的 DLL 捕获 stdout 和 stderr 输出

c++ - 为什么这个 Windows 命令行程序不能将其标准输出重定向到文件?

加法运算的 C++ 线程安全

c++ - 抽象接口(interface)的单个​​派生是否会内联它的虚函数?

python - 在 Heroku 上安装 PyICU

c++ - 实现观察者模式 C++

c++ - Qt 中的单实例应用程序

c++ - 终端仿真器作为 Qt Widget

linux - QtWebKit Linux Phonon 支持状态