【发布时间】:2018-10-12 15:29:41
【问题描述】:
如果我使用 chtype(字符的 ncurses 容器对象)打印一个字符,只指定像 COLOR_PAIR(SOME_PAIR) 这样的颜色,我会得到两个颜色字符。使用' ' | COLOR_PAIR(SOME_PAIR),即与一个字符进行 OR-ing,我只得到一个,正如我所料。
亲自尝试(使用-lncurses 构建):
#include <ncurses.h>
#define RED 1
int main(void)
{
initscr();
start_color();
curs_set(0);
init_pair(RED, COLOR_RED, COLOR_RED);
printw("Multiple: ");
addch(COLOR_PAIR(RED));
printw("\t\tSingle: ");
addch(' ' | COLOR_PAIR(RED));
getch();
endwin();
}
那里发生了什么? addch曾经怎么能操纵多个角色?
【问题讨论】:
标签: c shell graphics terminal ncurses