这篇文章主要讲解了“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如何实现进程间的对话功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!