我正在用 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
(。