我正在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/

10-14 06:40