-1

我正在用 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 时,它什么也没显示。这是为什么?

4

1 回答 1

0

该声明

add_wch(L"\u2584");

不适用于任何终端,因为参数是错误的数据类型。 add_wch需要一个cchar_t数据类型,而您提供了一个字符串wchar_t(您将获得更好的结果waddwstr)。

于 2018-04-15T16:13:19.023 回答