Алексей Черемисин, странно, что getch интерпретирует изменения размера, как ввод. И почему-то getch возражает 410. Это какой-то код символа управления?
Так же есть проблема: при уменьшении размера терминала, до размера меньшего, чем содержание, например строки, то символы, которые превышают размер терминала просто стираются. То есть, к примеру, есть строка длинной 100 символов, размер терминала такой же, но если изменить размер терминала до 80 символов, то последнии двадцать символов строки просто удаляться. Можно ли как-нибудь этого избежать?
Данил, тут такое дело... раньше, когда создавался (n)curses, терминалы были последовательные, и не имели, кроме интерфейса из 5 проводов, никакой связи с компьютером, а до этого, еще раньше - вообще принтеры.
Был придуман файл termcap с описанием esc- последовательностей доя разных моделей терминалов и устройсв ввода-вывода.
Соответственно, программы никогда не полагались на то, помнит ли терминал что-то , или нет. И нужно было в памяти держать все, что должно быть на терминале, так как в любой момент времени он может быть включен или выключен, а программе нужно восстановить визуальный образ для пользователя. Для этого обычно использовали сочетание ctrl-L, которое до сих пор доступно во многих текстовых редакторах...
Ну и ловите эту же последовательность и перерисовывайте все заново!