gpt4 book ai didi

readline - 使用 GNU Readline;如何在同一程序中添加 ncurses?

转载 作者:行者123 更新时间:2023-12-03 01:56:51 31 4
gpt4 key购买 nike

标题比我的实际目标更具体:

我有一个使用 GNU Readline 的命令行程序,主要用于命令历史记录(即使用向上箭头检索以前的命令)和其他一些细节。现在,程序的输出似乎散布在用户的输入中,有时是可以的,但输出是异步的(它通过网络连接响应输入命令),有时会很烦人(例如,如果用户输入时输出行)正在输入新的内容)。

我想向该程序添加一个功能:用于输出的单独“窗口”。我考虑过使用 ncurses 来实现这一点。但从ncurses FAQ看来这两个库不容易一起使用。

我可能会考虑使用Editlinetecla而不是 Readline,但我不清楚其中任何一个是否能解决我的问题。我还会考虑使用 ncurses 以外的其他东西,包括提供两种功能(文本模式窗口和命令历史记录)的库,但我不知道什么是最好的。

哦,对彩色文本的支持可能会获得奖励积分。我怀疑我也许可以使用 Readline 做到这一点,所以也许这是一个单独的问题,但如果我的问题的解决方案也可以轻松地为输出添加一些颜色,那就更好了。

我正在使用 Ubuntu Hardy (Linux 2.6)。

最佳答案

我现在在 GitHub 上整理了一个简单的示例程序:https://github.com/ulfalizer/readline-and-ncurses .

它支持无缝且高效的终端调整大小和多字节/组合/宽字符。该代码有有用的注释。

截图如下:

Screenshot of program combining ncurses and readline

关于readline - 使用 GNU Readline;如何在同一程序中添加 ncurses?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691652/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com