c - Ncurses 表单字段可以“无垫”吗?
问题描述
我正在为交流应用程序使用 Ncurses 表单。我的问题是,当我读取从表单中检索到的字段时,它们会被空格填充,而我需要有“正确”的字符串(例如,我不能修剪密码字段中的尾随空格)。有一种优雅的方法可以做到这一点,或者有没有办法检索长度,所以我可以在正确的字符处立即修剪它?
解决方案
您可以通过维护一个字段缓冲区来做到这一点,该缓冲区以您要检索的格式存储字符串)。ncurses-examples 中的 demo_forms.c 程序就是这样做的。代码中的注释
/*
* 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);
指1
传递给的参数new_field
(额外缓冲区的数量)。
(有关详细信息,您必须阅读源代码和手册页:教程不在此处...)
推荐阅读
- javascript - 如何使用 Jquery 将 css 应用于具有特定 ID 的容器中的特定项目 ID?
- java - MyBatis:如何存储来自查询的多个值?
- dart - x = -5.abs() 和 print(x.abs()) 之间的区别?
- reactjs - 我可以从控制台更改从组件状态填充的输入值吗
- c# - 如何更改 Outlook COM 加载项中已创建约会的“发件人”?
- angular - 带有ssr生产构建错误的Angular 6 Universal
- svg - 如何将悬停效果添加到带有 SVG 的 html img 标签,因为它是 src
- elasticsearch - AWS Elasticsearch:如何更新现有索引的分析器设置
- c++ - 为什么 std::function 模板构造函数不使用通用引用?
- laravel - Laravel:高级多态关系