Прибрати буферизацію зовсім (_IONBF) або, якщо порції тексту завжди супроводжуються '\n', ввімкунти буферизацію рядків (_IOLBF).
#include <stdio.h>
main()
{
setvbuf(stdout, 0, _IONBF, 0);
printf("Декілька рядків тексту");
sleep(5);
printf("Нові рядки тексту на місті попереднього");
}
Щоб буферизація була вимкнена лише при виводі в консоль, а при перенаправленні у файл залишалася:
if (isatty(fileno(stdout)))
setvbuf(stdout, 0, _IONBF, 0);
p.s. Тільки рядки ж не на місці попередніх будуть, а як продовження друкуватимуться.
Вивести простим способом на місце попереднього можна лише один рядок, даючи в кінці попереднього або на початку нового '\r'