如何通过hline / vline更改字符输出?

时间:2015-07-22 12:15:17

标签: c++ ncurses

我正在尝试使用hline / vline在窗口周围创建边框。我想要的输出如下

enter image description here

但我将qm等字母用作边框。

到目前为止,这是我的代码:

mvwhline(white_space, 0, 3, ACS_HLINE, 10);

如何使用线条代替字母? 谢谢!

1 个答案:

答案 0 :(得分:1)

通常的问题是使用VT100线图的终端描述和不支持该功能的终端。如果问题显示一个完整的程序,那么测试它并查看是否存在其他问题将很简单。

ncurses检查" linux"和"屏幕",但不是一切。 PuTTY是另一个例子,因此ncurses提供了一个环境变量来处理这些情况:NCURSES_NO_UTF8_ACS。该功能已添加到late 2011中(例如,ncurses 5.6之前的某些非常旧的发行版可能无效)。另请注意,ssh通常会丢弃异常环境变量(对于再次使用PuTTY),可能无法在客户端设置连接时预设此变量。

对于支持VT100线条绘制的程序,ncurses可以使用ASCII图形(非字母字符,如|-)来绘制线条,如上所述在waddch手册页中。如果您的语言环境使用UTF-8编码,则必须使用" ncurses w "使ncurses的库使用UTF-8字符作为ASCII图形的替代。