2011-02-27 59 views
1

假設我們有兩個程序,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

回答

1

您可以使用非官方的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