将外部进程的输出传递给正在运行的C ++脚本

时间:2012-03-01 20:55:47

标签: c++ stream terminal

我正在使用SFML框架为C ++创建一个简单的bash终端。我理解如何使用system()fn开始外部进程,但我需要一种方法将子进程的输出流式传输到当前脚本中。有一个简单的方法吗?也许使用fstream黑客?我正在使用Unix。

1 个答案:

答案 0 :(得分:2)

您需要使用pipe() s - 。基本的想法是fork()然后dup2()将文件描述符0(stdin),1(stdout)和2(stderr)分别放入特定的管道中,然后转移到waitpid() in你的“主”分支,直到你在“子”分支上得到WIFEXITED