我正在c中建立一个ncurses程序,我想获取小终端上的图形的上半部分和下半块字符(例如U + 2580和U + 2584)(▀)(我通常使用双空格和倒双空格) )。我尝试了很多不同的方法,但是没有一个起作用。我也尝试了urxvt st和xterm,但绝对没有成功。例如:
#include <locale.h>
#include <ncurses.h>
int main (int argc, char *argv[]) {
setlocale(LC_ALL, "");
initscr();
add_wch(L"\u2584");
refresh();
getch();
endwin();
}
另外,如果在终端中还有其他显示图形的方式,例如我所看到的一些小点,我将非常感兴趣。
编辑:另外,当我将字符粘贴到终端时,它可以正常显示,但是当我使用printf时,它什么也没显示。这是为什么?
最佳答案
该声明
add_wch(L"\u2584");
对任何终端都不起作用,因为参数是错误的数据类型。
add_wch
需要一个cchar_t
数据类型,而您已经提供了一个wchar_t
字符串(使用waddwstr
可以获得更好的结果)。关于c - ncurses中的上半部分和下半部分字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49841862/