Предположительно, после refresh()
после scrl()
добавьте строки:
for (y = 96; y <= 100; y++)
mvprintw(y, 0, "This is some text written as line %d.", y+5);
refresh();
Я использую магические числа, конечно. Вы должны использовать что-то вроде:
enum { MAX_SCR_LINE = 100 };
enum { MAX_SCROLL = 5 };
Тогда цикл:
for (y = MAX_SCR_LINE - MAX_SCROLL + 1; y <= MAX_SCR_LINE; y++)
mvprintw(y, 0, "This is some text written as line %d.", y + MAX_SCROLL);
refresh();
А если вам нужно повторять процесс снова и снова, тогда вычисление становится:
enum { MAX_ITER = 10 };
for (int j = 0; j < MAX_ITER; j++)
{
scrl(MAX_SCROLL);
for (y = MAX_SCR_LINE - MAX_SCROLL + 1; y <= MAX_SCR_LINE; y++)
mvprintw(y, 0, "This is the text written as line %d.",
y + (j + 1) * MAX_SCROLL);
}
Etcetera ...
(код не проверен - остерегайтесь ошибок.)