很简单的一个C程序while(1){printf(“hello”);sleep(1);}的程序,
尝试1:Qprocess调用 start之后使用readyreadout信号槽读取不断输出的标准输出(readall()),但是接收不到任何信号;
尝试2:Qtimer定时刷新,读到的标准输出也为空;
尝试3:尝试2的基础上 running状态下,直接外部终端kii掉这个进程,还是没有输出;
------解决思路----------------------
QProcess的信号是readyRead()
while那里,printf添加一个换行符,不然标准输出会缓存。另可以对标准输入调用fflush,试试。
------解决思路----------------------
之前有人也在问这个问题.我这里写了一个测试程序,亲测是可用的.我的系统是win8的.
http://pan.baidu.com/s/1bnrmv8r