当前位置: 代码迷 >> 综合 >> QProcess 读取子进程的标准输出得不到任何内容的原因和解决办法
  详细解决方案

QProcess 读取子进程的标准输出得不到任何内容的原因和解决办法

热度:63   发布时间:2023-12-11 23:05:16.0

2018年3月21日11:14:11


原因

根据文档说明,QProcess启动子进程后必须调用对应的方法等待子进程完成启动并等待子进程有数据可读,才能进行读取,否则读取得到的内容为string::empty

解决

if (apInstance->waitForStarted(-1)) {while(apInstance->waitForReadyRead(-1)) {qDebug() << apInstance->readAllStandardOutput();}
}

在读取子进程标准输入输出之前必须进行等待,否则可能读取得到空的内容或丢失部分信息。

  相关解决方案