C++ 跨平台启动进程并重定向其stdio的方法

C++ 跨平台启动进程并重定向其stdio的方法,c++,stdio,C++,Stdio,我想知道是否有一个跨平台(Windows、Linux、BSD)库,我可以用它异步启动进程,并为其标准管道提供类似于iostream的包装 我希望它能够告诉我进程何时终止 谢谢。您可以使用以下两个库: QProcess 您可以使用Qt工具箱中的QProcess类。 有关更多信息,请访问和 libexecstream 这比Qt轻,并且是跨平台的 其他人 pstreams版本0.17 如果您只需要一个控制台应用程序,您可以使用旧的基于popen的分支(0.17版),它使用Win32函数_popen(

我想知道是否有一个跨平台(Windows、Linux、BSD)库,我可以用它异步启动进程,并为其标准管道提供类似于iostream的包装

我希望它能够告诉我进程何时终止


谢谢。

您可以使用以下两个库:

QProcess

您可以使用Qt工具箱中的QProcess类。 有关更多信息,请访问和

libexecstream

这比Qt轻,并且是跨平台的

其他人

  • pstreams版本0.17 如果您只需要一个控制台应用程序,您可以使用旧的基于popen的分支(0.17版),它使用Win32函数_popen()和_pclose(),但这些函数在GUI程序中不起作用(如果Windows不为您这样做,可能会炸毁您的电脑)此版本没有库的大部分功能,不再进行维护或测试


感谢您的建议,但由于我的项目中尚未使用Qt,我希望使用更轻的。您是否使用了
系统
?我认为这是跨平台的。是的,我目前正在使用
system()
,但这是一个阻塞调用,并且AFAIK不启用输入/输出重定向。看起来不错,但如果我理解正确,这些都是特定于POSIX的。我希望它能在Win32上工作(不含Cygwin)。您可以使用的PStream常见问题解答说明是跨平台的。