【发布时间】:2012-08-18 19:57:48
【问题描述】:
我正在编写一个 ncurses 应用程序,但有一个奇怪的问题是如何将特殊字符打印到屏幕上。这是一个例子:
#include <ncurses.h>
int main(int argc, char *argv[])
{
initscr();
noecho();
keypad(stdscr, TRUE);
cbreak();
curs_set(0);
addch(ACS_LARROW);
addch(' ');
addch(ACS_UARROW);
addch(' ');
addch(ACS_DARROW);
addch(' ');
addch(ACS_RARROW);
addch(' ');
refresh();
getch();
endwin();
return 0;
}
所以,当我在 tty 上运行它时,字符会正确打印为箭头(←、↑、↓、→),但是当我尝试在终端上运行它时(我在 gnome-terminal 和LXTerminal) 这是输出:
< ^ v >
这种差异有什么原因吗?我认为这可能与字体有关,但我真的不在我的领域,我的谷歌搜索没有帮助。
关于如何强制 lxterminal(或任何其他终端)输出与 tty 相同的字符有什么建议吗?
【问题讨论】:
标签: c terminal character ncurses