两个程序之间的input输出通信

我有一个名为kgsgtp.jar的第三方Java程序,需要与我自己的C ++(但主要是C)程序进行通信。 Java程序的文档指出:

=====================

您只需要确保kgsGtp的stdin连接到引擎的输出,而kgsGtp的stdout连接到引擎的input。 通常情况下,最简单的方法是从引擎中分出并传递kgsGtp。

=====================

现在我是一个相当能干的程序员,只要给我几条线索,我觉得我可以安排一切。 我怀疑,如果描述扩大到呃,10? 而不是三个半,那么我会立即sorting。

我猜这是什么文件意味着分叉,是使用WinExec()或CreateProcess()在我的程序来执行Java程序? 我也猜测,也许当我使用正确的function,那么一个程序的标准input对应于另一个标准输出的事实会自动发生?

该描述适用于unixes,其中一系列pipe(),dup2(),fork()/ exec()调用将用于执行此操作。

看看denis的答案中的代码片段: 我如何通过Windows程序获得C ++的控制台输出? ,应该让你开始。

编辑:更完整的例子是在这里: http : //support.microsoft.com/kb/190351

你需要的是相当于POSIX的dup()在Windows上可能是这样的