标签: c++ stream terminal
我正在使用SFML框架为C ++创建一个简单的bash终端。我理解如何使用system()fn开始外部进程,但我需要一种方法将子进程的输出流式传输到当前脚本中。有一个简单的方法吗?也许使用fstream黑客?我正在使用Unix。
答案 0 :(得分:2)
您需要使用pipe() s - 。基本的想法是fork()然后dup2()将文件描述符0(stdin),1(stdout)和2(stderr)分别放入特定的管道中,然后转移到waitpid() in你的“主”分支,直到你在“子”分支上得到WIFEXITED。
WIFEXITED