2011-09-17 260 views
0

我有必須寫入控制檯的應用程序。此外,我也從dll調用函數寫入標準輸出。現在我想要有單獨的輸出窗口來獲取來自dll的所有輸出。 (所以我會有2個控制檯窗口:一個用於客戶端應用程序,一個用於dll)如何製作它?我用windows + mingw其他控制檯窗口

回答

3

你不行。 stdout是一個單獨的文件句柄,如果你的應用程序代碼和dll都在寫它,它們將會去同一個地方,不管你做什麼。

你最好的選擇是要麼:

  1. 更改應用程序代碼寫入到除了標準輸出(即標準錯誤或文件)的東西,或者
  2. 改變你的應用程序代碼,以便其輸出語句'標記'的方式,你可以使用像grep或sed/awk這樣的工具進行過濾
+0

Adpalumbo是對的。一個進程只能有一個控制檯。實現這一目標的唯一方法是將其製作爲GUI應用程序,並創建兩個看起來像控制檯窗口的窗口。 –