读取和写入进程I/O?

问题描述:

假设我们有两个程序,ABB连续打印某物并读取输入。 (可能也有使用相同的I/O,我不知道这是否是可以或不可以在B两个过程...)读取和写入进程I/O?

A要读B的输出,并决定什么该说B,然后发送一个字符串到B的输入。 (就像有人通过键盘输入文字到B)。

我知道B使用std::cout发送消息到输出并使用std::cin作为读取输入。

如何使用C++和标准库编写A?这与套接字或ipc有关吗?

注意:我正在使用i386 Linux系统。

+0

这是IPC并且依赖于操作系统。你在为什么开发平台? – RageD 2011-02-27 20:39:51

+0

@ RageD:我在Linux上(Ubuntu 10.10)。 – 2011-02-27 20:40:28

+0

标记为重要的操作系统信息。 – dmckee 2011-02-27 22:01:19

您可以使用非官方的boost Process图书馆,该图书馆的excellent tutorial正是您想要做的事情,并且现在任何时候都必然是提升的官方部分。它自然也是跨平台的。 HTH

+0

谢谢,但我只能使用C++标准库:-( – 2011-02-27 20:47:01

+1

@Sorush:你不能只使用C++标准库,因为进程间通信不是C++的一部分,无论如何你必须使用OS API,boost程序库已经方便地包装成漂亮的C++了 – 2011-02-27 21:10:29

+0

那么我现在应该怎么做?我可以使用std编写我自己的ipc机制吗? – 2011-02-28 07:13:43