ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ
stdscrstdscrcurscrΠ’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ curses Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1.Β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°.
2.Β ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
refreshΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΄Π²ΡΡ ΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΏΠΎΠΌΠΈΠΌΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π»Π΅Π³ΠΊΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° curses. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΊΡΠ°Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΡΠ°Π½, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ ΠΊΡΡΡΠΎΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΊΡΠ°Π½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΡΠ°ΠΌΠΎΠΊ. ΠΠ° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡ ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄. ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ (ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ
refreshΠΠ°ΠΊΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° β ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ, Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ ΡΠΊΡΠ°Π½Π° (0, 0) Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ (ΡΠΈΡ.Β 6.1).

Π ΠΈΡ. 6.1
ΠΠΎ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ curses ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ (ΡΡΡΠΎΠΊΠΈ) ΠΏΠ΅ΡΠ΅Π΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ (ΡΡΠΎΠ»Π±ΡΡ). ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠΊΡΠ°Π½Π°, Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ, Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΆΠΈΡΠ½ΠΎΠ΅ Π½Π°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ Linux Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ²Π΅Ρ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° curses Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π΅ΠΉ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
initscrendwinΠ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ curses ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ screen1.c, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ. ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ.
1.Β ΠΡΡΠ°Π²ΡΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» curses.h ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ
main#include <unistd.h>#include <stdlib.h>#include <curses.h>int main() {Β initscr();Β ...Β endwin();Β exit(EXIT_SUCCESS);}2. ΠΠ½ΡΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° Π² ΡΠΎΡΠΊΡ (5, 15) Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΊΡΠ°Π½Π΅, Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ "Hello World"Β ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½. Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΎΠ²
sleep(2move(5, 15);printw("%s", "Hello World");refresh();sleep(2);ΠΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ°Π·Ρ "Hello World" Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΊΠ²Π°Π΄ΡΠ°Π½ΡΠ΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° (ΡΠΈΡ. 6.2).

Π ΠΈΡ. 6.2
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ curses, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΡΡΡΠΎΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΡΠΊΡΠ°Π½Π° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΊΡΡ. ΠΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΠΏΠ°ΡΠ·Ρ ΠΎΠ½Π° Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΠΊΡΠ°Π½
ΠΠ°ΠΊ: Π²Ρ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ curses Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ
initscrendwin<b>#include <curses.h></b><b>WINDOW *initscr(void);</b><b>int endwin(void);</b>Π€ΡΠ½ΠΊΡΠΈΡ
initscrstdscrΠ€ΡΠ½ΠΊΡΠΈΡ
endwinclearok(stdscr, 1)refreshΠΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½
ΠΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
<b>#include <curses.h></b><b>int addch(const chtype char_to_add);</b><b>int addchstr(chtype *const string_to_add);</b><b>int printw(char *format, ...);</b><b>int refresh(void);</b><b>int box(WINDOW *win_ptr, chtype vertical_char, chtype horizontal_char);</b><b>int insch(chtype char_to_insert);</b><b>int insertln(void);</b><b>int delch(void);</b><b>int deleteln(void);</b><b>int beep(void);</b><b>int flash(void);</b>