Strona 1 z 1

C++, ncurses, funkcja sleep()

: 28 marca 2015, 16:06
autor: Dudi879
Witam, mam problem z funkcją sleep() z biblioteki unistd.h. Wszystkie jej instrukcje wykonują się naraz, np. w kodzie:

Kod: Zaznacz cały

printw("ABC");
sleep(1);
printw("DEF");
sleep(1);
Zamiast wyświetlenia napisu ABC i po sekundzie DEF, muszę czekać 2s na napis ABCDEF. W kodzie:

Kod: Zaznacz cały

printf("2");
sleep(1);
printf("1");
sleep(1);
jest podobnie, ale za to w:

Kod: Zaznacz cały

printf("2\n");
    sleep(1);
printf("1\n");
    sleep(1);
jest już ok. Próbowałem wklejać "\n" w przeróżne miejsca myśląc, że ma to jakiś związek, ale nic z tego. Czy ktoś jest w stanie pomóc?

System: Debian Jessie
Kompilator: g++
Piszę w vimie, kompiluję w terminalu, żadnych błędów kompilacji nie ma.

: 28 marca 2015, 18:42
autor: pj1031999
Użyj funkcji fflush (stdout); zaraz po printf ().

: 29 marca 2015, 17:10
autor: Dudi879
Funkcja fflush(stdout) nie pomogła, ale problem rozwiązało stosowanie refresh(); - dla potomnych.