C++ 什么是Qt';路';用于将外部可执行文件用作管道?
我有一个使用Qt框架的GUI应用程序,另一个只处理C++ 什么是Qt';路';用于将外部可执行文件用作管道?,c++,qt,process,pipe,qt5,C++,Qt,Process,Pipe,Qt5,我有一个使用Qt框架的GUI应用程序,另一个只处理stdin中的一些文本,并在stdout中显示其输出 如何可移植地使用来自Qt应用程序的第二个可执行文件? 主应用程序的用户将创建需要处理的数据。 (结果将显示回用户) 第二个应用程序不能知道/依赖主应用程序的任何内容,因此开发类似服务器的抽象是不可能的 我不想为此编写特定于Linux的代码,因为应用程序将来需要在其他平台上运行。您可以使用QProcess启动第二个应用程序,提供输入并读取其输出: QProcess process; proces
stdin
中的一些文本,并在stdout
中显示其输出
如何可移植地使用来自Qt应用程序的第二个可执行文件?
主应用程序的用户将创建需要处理的数据。
(结果将显示回用户)
第二个应用程序不能知道/依赖主应用程序的任何内容,因此开发类似服务器的抽象是不可能的
我不想为此编写特定于Linux的代码,因为应用程序将来需要在其他平台上运行。您可以使用
QProcess
启动第二个应用程序,提供输入并读取其输出:
QProcess process;
process.start("secondApp");
process.waitForStarted();
process.write(input, count);
process.closeWriteChannel();
process.waitForFinished();
QByteArray output;
output = process.readAllStandardOutput();
它似乎可以工作,但在字符串结束后,进程不会返回。如何向其写入EOF?