带有链接字符串的Ncurses菜单

时间:2013-06-14 09:29:41

标签: c++ ncurses

我想在我的ncurses菜单中将链接字符串添加到:

/bin
/hello
/home
...

我有一个名为w_files的组件向量,它们具有变量name(bin,hello,home,...),当我这样做时:

chdir(w_actDir.c_str());
this->selected = 0;
unsigned int n_choices = w_files.size();
my_items = (ITEM **)calloc(n_choices+1, sizeof(ITEM *));
for(unsigned int i = 0; i < n_choices; ++i){
    string toShow = w_files[i]->getName();
    my_items[i] = new_item(toShow.c_str(), "");
}


my_menu = new_menu((ITEM**)my_items);

set_menu_mark(my_menu, "");
set_menu_win(my_menu, this->w_window);
set_menu_format(my_menu, LINES-5, 1);
int center = COLS/2;
set_menu_sub(my_menu, derwin(this->w_window, LINES-5, center-5, 3, 1));

post_menu(my_menu);
wrefresh(this->w_window);

好的,结果看起来:

bin
hello
home
...

但是当将string toShow = w_files[i]->getName();更改为string toShow = "/" + w_files[i]->getName();

结果是: enter image description here

有人可以帮助我吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

实际上,在发表评论后,我有了一个答案的想法 - 最安全的方法是附加到toShow字符串。

代码示例:

string toShow = "/";
toShow.append(w_files[i]->getName());