process 输出 java_使用QProcess读取标准输出

在我的QT小部件应用程序中,我试图运行一个打开C程序的shellcript,并为程序提供输入 . 该程序启动一个命令提示符,要求用户输入启动 . 程序启动后,程序的输出将通过标准输出重定向到文本文件 . 我试图使用QProcess打开并运行此shellcript,然后读取用于将C程序的结果打印到文本文件的标准输出 . shell脚本只运行此进程,不会终止它 . 这是因为我需要在程序运行时不断将此输出读入GUI . 等到程序完成后才能阅读这些信息是不够的 . 我是QT和C编程的新手 . 我希望有人能帮助我实现这个目标 .

QProcess process;

process.start("/home/pi/Desktop/ShellScripts/RunTutorial3.sh");

QString output =process.readAllStandardOutput();

qDebug() << output;

QString err = process.readAllStandardError();

qDebug() << err;

我已尝试使用其他读取功能,如readline,并尝试将过程作为一个分离过程启动 . 我的任何实验都没有成功 . 是否有可能做我在QT尝试的事情 . 我只需要程序连续运行并让QT经常读取此输出 .

Shell脚本:

#!/bin/bash

cd

cd Desktop

cd tutorial3App

cd bin

echo "start" | ./tutorial3

C代码:我需要在标准输出中捕获meanTOE值以在我的GUI中使用 .

/ Calculate average time to end of discharge

double meanToE = std::accumulate(ToESamples.begin(), ToESamples.end(), 0.0)/ToESamples.size();

file << ": EOL in " << meanToE << " s" << std::endl;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值