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

时间:2010-02-04 09:48:10

标签: java c++ c windows

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

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

你只需要确保它连接的kgsGtp的stdin kgsGtp的引擎输出和标准输出连接到引擎的输出 输入。通常,最简单的方法是分叉和执行 来自引擎内的kgsGtp。

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

现在我是一名相当称职的程序员,并且觉得我可以安排所有这些,只需要更多的线索。我怀疑如果描述扩展到erm,10?然后我会立即对它进行排序。

我猜这个文件通过分叉意味着什么,在我的程序中使用WinExec()或CreateProcess()来执行java程序?我也猜测也许当我使用正确的函数时,一个程序的stdin对应另一个stdout的事实会自动发生吗?

2 个答案:

答案 0 :(得分:4)

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

请看一下丹尼斯答案中的代码段:How do I get console output in C++ with a Windows program?,应该让您入门。

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

答案 1 :(得分:0)

您需要的东西相当于Windows上的POSIX dup()可能是this