Работая в терминале Linux, вы должны иметь возможность использовать символ '\ r', который является переводом каретки (без новой строки). Он перезапишет то, что было раньше.
Попробуйте что-то вроде:
#include <stdio.h>
int main(void)
{
printf("AA BB CC");
fflush(stdout);
sleep(3);
printf("\rDD EE FF");
fflush(stdout);
sleep(3);
printf("\n");
return 0;
}
С этим вы сможете делать все, что захотите в цикле ...
Редактировать ... используя ncurses:
#include <stdio.h>
#include <ncurses.h>
int main(void)
{
initscr();
noecho();
raw();
printw("AA\nBB\nCC\n");
refresh();
sleep(3);
mvwprintw(stdscr, 0, 0, "DD\nEE\nFF\n");
refresh();
sleep(3);
endwin();
return 0;
}