这篇文章主要讲解了“qt如何实现进程间的对话功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“qt如何实现进程间的对话功能”吧!
示例代码
被调用侧的代码和昨天文章中的完全相同,这里只说明调用侧的代码。
#include <QCoreApplication>#include <QProcess>#include <QTextStream>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QProcess server; server.start("G:\\Qt\\21070809 ProcessComm\\ServerProcess\\bin\\debug\\ServerProcess.exe" ,QStringList());
if (!server.waitForStarted()) return -1;
QTextStream cin(stdin); QTextStream cout(stdout); QByteArray input; QByteArray response; while(input != "bye\n") { cin >> input; input += "\n"; server.write(input); server.waitForReadyRead(); response = server.readLine(); response.replace("\r\n", ""); cout << response << endl; }
if (!server.waitForFinished()) return -1; return a.exec();}
和昨天代码不同的主要是while循环中的部分。代码内容如下:
从键盘输入字符串
在字符串结尾添加字符‘\n’
向进程写入该字符串
等待进程反馈信息就绪
取得反馈信息
去掉反馈信息中的"\r\n"
输出反馈信息
如果输入字符串为"bye"则退出循环,否则循环继续。
感谢各位的阅读,以上就是“qt如何实现进程间的对话功能”的内容了,经过本文的学习后,相信大家对qt如何实现进程间的对话功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4579737/blog/4601220