如何替换ncurses&C中的字符串菜单项
我试图找出如何从ncurses菜单中替换item_name
。 从手册页中 ,我找不到任何set_item_name
或类似的东西。 任何想法,如果有一个解决方案吗?
例如,在KEY_ENTER
上替换"Choice 1"
w / "String 1"
#include #include
看起来再次调用set_menu_items()
是预期的方法。
是的,缺少set_item_name()
的解决方法是你可以编写set_item_name();
首先,查看包含file menu.h
,您可以在其中找到ITEM
结构的结构定义。 在那里你看到你可以写一个像这样的函数:
void set_item_name (ITEM *itm, const char* name) { int len = strlen(name); char* n; if (itm->name.str!=NULL) free((void*)(itm->name).str); n=strdup(name); itm->name.length=len; itm->name.str=n; }
关于论点:
-
itm是指向要更改的菜单项的指针
-
name是要用作菜单名称的字符串。
我使用此例程在下拉菜单中创建一个“复选框”项,它似乎工作(在linux debian 6.0
和libncurses5 (5.7)
)。