Как установить библиотеку PDCurses? - C (СИ)
Формулировка задачи:
Хочу использовать библиотеку PDCurses. Не понимаю, как её установить. Требуется помощь, очень хочу использовать именно это библиотеку.
Решение задачи: «Как установить библиотеку PDCurses?»
textual
Листинг программы
#include <curses.h>
int main() {
initscr();
start_color();
move(11, 27);
char *ss[] = { "Hello ", "World ", "From ", "Curses!" };
int co[] = { COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE };
for (int i = 0; i < 4; ++i) init_pair(i + 1, co[i], COLOR_BLACK);
for (int i = 0; i < 4; ++i) {
attron(COLOR_PAIR(i + 1));
addstr(ss[i]);
}
getch();
endwin();
}
Объяснение кода листинга программы
В данном коде происходит следующее:
- #include
— подключается библиотека curses.h, которая содержит функции для работы с терминалом, в том числе для работы с библиотекой PDCurses. - int main() { — определяется функция main(), которая является точкой входа в программу.
- initscr() — инициализируется экран, т.е. перенаправляется стандартный ввод/вывод в окно PDCurses.
- start_color() — инициализируются цвета.
- move(11, 27) — курсор перемещается на 11 строку и 27 столбец.
- *char ss[] = {
Hello,World,From,Curses!};** — определяется массив строк ss, содержащий четыре строки:Hello,World,From,Curses!. - int co[] = { COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE }; — определяется массив целых чисел co, содержащий цвета: COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE.
- for (int i = 0; i < 4; ++i) init_pair(i + 1, co[i], COLOR_BLACK); — создаются четыре пары цветов с помощью функции init_pair(). Первая параметр — номер пары, второй параметр — цвет фона, третий параметр — цвет текста.
- for (int i = 0; i < 4; ++i) { — начинается цикл по четырем элементам массива ss.
- attron(COLOR_PAIR(i + 1)); — устанавливается текущая цветовая пара с помощью функции attron().
- addstr(ss[i]); — добавляется строка из массива ss с помощью функции addstr().
- getch(); — ожидается нажатие клавиши с помощью функции getch().
- endwin(); — очищается экран и восстанавливается стандартный ввод/вывод с помощью функции endwin().
- } — заканчивается цикл.
- } — заканчивается функция main().