Не работает настройка цвета в ncurses
В моём терминале используется виртуальный терминал xterm-256colors, соответственно, цвет он поддерживает.
Пишу такую программу:
#include <ncurses.h>
int main() {
initscr();
curs_set(0);
move(0, 0);
init_pair(1, COLOR_RED, COLOR_GREEN);
attrset(COLOR_PAIR(1));
addstr("Red on green");
refresh();
getch();
endwin();
}
Вместо красной надписи на зелёном фоне выводится белая на чёрном. Почему так?
Ответы (1 шт):
Автор решения: Имя Фамилия
→ Ссылка
Перед вызовом функции init_pair(short,short,short) необходимо вызвать функцию start_color().
Без этого вызова цвета не будут отображаться, а если вызвать эту функцию после функции init_pair, то отображаться не будет вообще ничего (из-за установки атрибута COLOR_PAIR(1)). Благо в таком случае можно снова вызвать init_pair уже после start_color, и всё встанет на свои места. Дальнейшие вызовы start_color ни на что не влияют.