如何将程序打印定向到单独的窗口(shell/tty)
我正在编写一个控制台应用程序,它使用一些启用(调试)打印的库。在我的 main() 应用程序中,我正在接受用户的输入。我希望此用户输入与我的图书馆打印分开。我无法禁用库调试打印。 (问题是库有大量连续打印,很难接受用户输入。我可以做一些事情,比如创建一个新的 tty 来接受用户输入。)
I am writing a console application which is using some library in which (DEBUG) prints are enabled. In my main() application I am taking inputs from user. I want this user input to be separate from my library prints. I cant disable library debug prints. (The problem is library has lots of continuous prints over which it is difficult to take user input. Can I do something like creating a new tty for taking user inputs. )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
dup2(2,3p)
可让您将现有文件描述符(例如您刚刚在/dev/null
上打开的文件描述符)复制到另一个现有文件描述符(例如 FD2) ,标准错误)。因此,打开/dev/null
进行写入并用它破坏 stderr。不要忘记添加一个选项来禁用此功能,以防您需要调试。
dup2(2,3p)
lets you duplicate an existing file descriptor (such as the one you just opened on/dev/null
) onto another existing file descriptor (such as FD2, stderr). So, open/dev/null
for writing and clobber stderr with it.Don't forget to add an option to disable this though, in case you need to debug.