Библиотека pdcurses унифицирует взаимодействие с консолью в разных ОС (Windows, Linux), кроме того можно эмулировать консоль в графическом режиме с использованием кроссплатформенной SDL, Windows GDI и Linux X11. Библиотека сильно связана с [управляющими последовательностями](47021.html) для терминалов, так как разрабатывалась для упрощения их генерации.
Для подключения библиотеки в MinIDE нужно указать в локальных настройках
```text
compile.libs=pdcurses
```
и подключить заголовочный файл curses.h
При работе с библиотекой используются такие сущности как окна (прямоугольные области экрана), которые могут быть вложенными. Каждое окно имеет собственный логический курсор, задающий позицию вывода. Всему экрану соответствует окно ``stdscr``.
Весь вывод буферизуется и для отображения изменений на экране нужно вызвать функцию ``wrefresh``.
Функции вывода в окно начинаются с префикса ``w`` и первым аргументом должен быть указатель на окно. Кроме того есть аналоги этих функций без ``w``, которые применяются к ``stdscr``.
```c
#include <curses.h>
int main()
{ initscr(); // инициализация консоли
printw("Hello world!\n"); // вывод сообщения в stdscr
refresh(); // обновление stdscr
getch(); // ожидание нажатия клавиши
endwin(); // завершение работы с консолью
}
```