微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ncurses表单字段可以“无垫”吗?

如何解决Ncurses表单字段可以“无垫”吗?

我正在将Ncurses表单用于c应用程序。 我的问题是,当我读取从表单中检索的字段时,它们会被空格填充,而我需要具有“正确”的字符串(例如,我无法在密码字段中修剪尾随空格)。 有一种优雅的方法可以执行此操作,或者有一种方法可以检索长度,因此我可以在第二时间在合适的字符处对其进行修剪?

解决方法

您可以通过维护一个字段缓冲区来做到这一点,该缓冲区以您要检索的格式存储字符串)。 ncurses-examples中的demo_forms.c程序执行此操作。代码中的comment

/*
 * Define each field with an extra one,for reflecting "actual" text.
 */
static FIELD *
make_field(const char *label,int frow,int fcol,int rows,int cols)
{
    FIELD *f = new_field(rows,cols,frow,fcol,o_value,1);

指传递给new_field 1 参数(额外缓冲区的数量)。

(有关详细信息,您必须阅读源代码和手册页:教程不在这里...)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。