【发布时间】:2025-12-21 16:05:12
【问题描述】:
我将ncurses 用于涉及从用户获取输入的简单用户界面。
输入是一个 1 行高的窗口,只有一个光标。
我目前正在使用wgetnstr(inputwindow, input, inputlen)。
我想要的是能够编辑该输入行,就像 readline 一样。也就是说,能够使用 ^W(^U 顺便说一句),返回缓冲区并进行更改等。 如果我可以保留输入的历史并能够使用“向上”箭头访问它,那也很棒。
但是,除了ncurses 提供的功能之外,我无法让 stdin 使用任何东西。如果这能让我获得上述好处,我可以放弃inputwindow。但我不确定这是否可能。
所以,
- 是否可以使用
readline或使用ncurses及其提供的输入功能来实现此类功能? 和/或 - 是否有可能以及如何在curses 窗口下方有一个空行,这将允许用户直接使用stdin 提供输入(这是所有常见的读取输入函数,因此甚至直接
readline)?
如果这些是可行的,一些简单的代码会很棒,但指导和指针也很棒。如果没有,很高兴知道,而不是浪费时间试图让它发挥作用。
【问题讨论】:
-
here 是一个类似的问题,但实际上并不相同。
-
可能是我想要的最好的东西,就是 cli irc 客户端如何处理输入。例如。
irssi和weechat。我会挖一点..
标签: c stdin readline ncurses curses