1

我正在编写一个控制台应用程序,它使用了一些启用了(调试)打印的库。在我的 main() 应用程序中,我从用户那里获取输入。我希望这个用户输入与我的图书馆打印分开。我不能禁用库调试打印。(问题是库有很多连续打印,很难接受用户输入。我可以做一些事情,比如创建一个新的 tty 来接受用户输入。)

4

1 回答 1

1

dup2(2,3p)允许您将现有文件描述符(例如您刚刚打开的/dev/null文件描述符)复制到另一个现有文件描述符(例如 FD2、stderr)上。所以,打开/dev/null写作并用它破坏标准错误。

不要忘记添加一个选项来禁用它,以防您需要调试。

于 2010-08-26T04:50:42.550 回答