C++ Ncurses和C++;字符串连接无法正常工作

C++ Ncurses和C++;字符串连接无法正常工作,c++,string,ncurses,C++,String,Ncurses,我正试图像大多数终端程序一样,使用条目之间带有“---”的ncurses显示状态栏 到目前为止,我有以下代码: #包括 #包括 #包括 #包括 使用名称空间std; int main(){ initscr(); 启动颜色(); 初始对(3,白色,红色); getch(); attron(颜色对(3)); 字符串a=“---票证:455”; a、 附加(70,“-”); mvprintw(第1行,第0行,a.c_str()); getch(); endwin(); } mvprintw应输出屏幕

我正试图像大多数终端程序一样,使用条目之间带有“---”的ncurses显示状态栏

到目前为止,我有以下代码:

#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
initscr();
启动颜色();
初始对(3,白色,红色);
getch();
attron(颜色对(3));
字符串a=“---票证:455”;
a、 附加(70,“-”);
mvprintw(第1行,第0行,a.c_str());
getch();
endwin();
}
mvprintw应输出屏幕的整个宽度,直到右边框。但实际上只加了一个“-”


我不确定这是否是一个ncurses问题,或者字符串是否没有正确地转换为c样式的字符串。有人能帮我确定问题吗?

我发现删除for循环并用a.append(5,“-”)进行追加可以得到我想要的结果-但是如果追加的字符超过6个,则只追加一个“-”。无法复制,我得到了预期的输出;但我几乎可以肯定的是,您只需要添加一个
refresh()getch()
。有关更多信息,请参阅curses文档。也许我的诅咒版本有
getch
()`自动清除所有内容。可能是重复的。这已经有几年了,但是一些开发人员对他们的错误跟踪得很慢。我发现这与我的术语变量有关。事实上,我使用“st”作为终端-那么什么才是合适的术语变量呢?