我正在编写一个 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 相同的字符的任何建议?