Skasowanie dotychczasowego tekstu i zastąpienie nowym

0

Chciałbym dowiedzieć się jak napisać program, który wykorzystywałby działanie pętli w ten sposób, że wszystkie nowe wypisania tekstu dla każdego kolejnego obiegu zastępowałyby stary tekst z poprzedniego obiegu i występowały niejako w jego miejscu w terminalu po wywołaniu programu.

1
for(int i=0;i<1000000;++i) printf("\r%d",i);
0

Chyba trochę niezrozumiale wyraziłem swoje myśli. Łatwiej będzie mi powiedzieć to na konkretnym przykładzie. Chodzi mi o to, że jeśli mam program:

#include <stdio.h>
#include <windows.h>

int main(){
printf("1 4\n2 5\n3 6");
Sleep(1500);
printf("\n\n9 6\n8 5\n7 4");

return 0;
} 

to wyświetlą się dane:

1 4
2 5
3 6

9 6
8 5
7 4

A chciałbym żeby najpierw wyświetliły się pierwsze dwie kolumny (z wartościami od 1 do 6) a potem, po upływie 1,5 sekundy dwie kolejne kolumny (z wartościami od 9 do 4), które byłyby wydrukowane w miejsce tych pierwszych, nie pod nimi.

0

Nie da się tego zrobić używając standardowego wejścia/wyjścia. Trzeba używać funkcji specyficznych dla konsoli.

Jeśli to windows:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx
a konkretniej to: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686025%28v=vs.85%29.aspx

Jeśli dowolny system operacyjny to biblioteka ncurses

0
  1. biblioteka ncurses
  2. słabo kompatybilne conio.h z gcc i gotoxy()
  3. niekompatybilne WinAPI http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx lub odpowiednik pod odpowiedni system
  4. degeneratywne i niekompatybilne system("cls");

1 użytkowników online, w tym zalogowanych: 0, gości: 1