2010-08-26 29 views
1

我正在編寫一個控制檯應用程序,該應用程序正在使用某些啓用了(DEBUG)打印的庫。在我的main()應用程序中,我正在接受用戶的輸入。我希望此用戶輸入與我的圖庫打印分開。我不能禁用庫調試打印。 (問題是庫有大量的連續打印,難以接受用戶輸入,我可以做一些事情,比如創建一個新的tty來接受用戶輸入。)如何將程序打印導向到分離窗口(shell/tty)

回答

1

dup2(2,3p)允許您複製現有的文件描述符(例如您剛打開的那個文件(/dev/null))轉換爲另一個現有的文件描述符(如FD2,stderr)。所以,打開/dev/null寫作和clobber stderr與它。

不要忘記添加一個選項來禁用它,以防您需要調試。