【问题标题】:How to get the output of system() command qt c++?如何获取 system() 命令 qt c++ 的输出?
【发布时间】:2012-09-23 16:45:20
【问题描述】:

我想得到这个命令的输出例如:

system("dir C:\");

或:

QProcess::execute("cmd /c dir C:\");

怎么做?

谢谢!

【问题讨论】:

    标签: c++ qt command system


    【解决方案1】:
    QProcess process;
    process.start("cmd /c dir C:\\");
    process.waitForFinished(-1);
    QByteArray out = process.readAllStandardOutput();
    

    【讨论】:

      【解决方案2】:

      您可以将标准输出路径修改为从中读取的管道,但使用popen() 而不是system() 会更容易。

      由于您似乎使用的是 Windows,因此您将使用 _popen()

      #include <stdio.h>
      
      ....
      
      FILE *fp = _popen("dir c:\", "r");
      ....
      while (!feof(fp)) {
          ....
      }
      fclose(fp);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-02
        • 1970-01-01
        • 2021-11-11
        • 2018-10-21
        • 2015-12-26
        • 1970-01-01
        相关资源
        最近更新 更多