读取和写入进程I/O?
假设我们有两个程序,A
和B
。 B
连续打印某物并读取输入。 (可能也有使用相同的I/O,我不知道这是否是可以或不可以在B
两个过程...)读取和写入进程I/O?
A
要读B
的输出,并决定什么该说B
,然后发送一个字符串到B
的输入。 (就像有人通过键盘输入文字到B
)。
我知道B
使用std::cout
发送消息到输出并使用std::cin
作为读取输入。
如何使用C++和标准库编写A
?这与套接字或ipc有关吗?
注意:我正在使用i386 Linux系统。
您可以使用非官方的boost Process图书馆,该图书馆的excellent tutorial正是您想要做的事情,并且现在任何时候都必然是提升的官方部分。它自然也是跨平台的。 HTH
谢谢,但我只能使用C++标准库:-( – 2011-02-27 20:47:01
@Sorush:你不能只使用C++标准库,因为进程间通信不是C++的一部分,无论如何你必须使用OS API,boost程序库已经方便地包装成漂亮的C++了 – 2011-02-27 21:10:29
那么我现在应该怎么做?我可以使用std编写我自己的ipc机制吗? – 2011-02-28 07:13:43
这是IPC并且依赖于操作系统。你在为什么开发平台? – RageD 2011-02-27 20:39:51
@ RageD:我在Linux上(Ubuntu 10.10)。 – 2011-02-27 20:40:28
标记为重要的操作系统信息。 – dmckee 2011-02-27 22:01:19