代码之家  ›  专栏  ›  技术社区  ›  niznuck

具有现有基字符串的Ncurses getnStr

  •  0
  • niznuck  · 技术社区  · 9 年前

    我已经编写了一个程序,使用ncurses实现UI和函数 mvwgetnstr 从窗口读取字符串。我希望允许用户对他们输入的文本进行编辑,因此如果他们输入 foo 他们可以稍后返回并附加 bar 。我想不出如何使用curses API实现这一点 getnstr 函数只接受字符缓冲区和长度变量。有什么想法吗?我开始制作自己的字符串输入函数,但很难将所有内容都限制在窗口内。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Thomas Dickey    9 年前

    这取决于你想要什么。有许多可能的方法来组织计划:

    • getnstr 从标准屏幕(窗口)读取缓冲区
    • 这个 wgetnstr 函数从给定窗口接受缓冲区。使用单独的窗口(或子窗口)可以减少编辑缓冲区的更新干扰屏幕上其他内容的问题。
    • 获取指令 编辑很粗糙。如果您使用 form 库(该库反过来使用ncurse),它允许您不仅仅从输入缓冲区的末尾添加/删除字符。
    • 编写自己的输入函数,这可能会变得复杂。这个 dialog 程序会这样做。

    这个 ncurses-examples 可能有助于阅读和了解如何构建合适的输入函数。