PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : printf() - überschreiben der letzten Ausgabe



musketaquid
14-02-2006, 01:35
printf("%.2d:%.2d:%.2d\n", h, m, s);
Das läuft bei mir in einer for Schleife, und wird somit ein paar mal (mit neuen Werten für h, m, s) wiederholt.
Ich möchte, dass die Ausgabe immer in der selben Zeile an der selben Position stattfindet. Geht das?
Wenn ich den Zeilentrenner \n am Ende weglasse, dann bleibt das Programm zwar in einer Zeile, aber gedruckt wird nix. Die Zeile bleibt leer.
Ich habs auch schon mit 6 backspaces \b am Ende versucht, damit er wieder vorn anfängt und trotzdem wird nix gedruckt. :(

Mehlwurm
14-02-2006, 06:17
vielleicht ein "clear" vor dem ende der schleife?

ninguno
14-02-2006, 06:51
falls das ein shell script sein soll, dann kannst du's mit carriage return machen;
printf "%.2d:%.2d:%.2d" 1 1 1
sleep 1
printf "\r%.2d:%.2d:%.2d" 2 2 2
sleep 1
printf "\r%.2d:%.2d:%.2d" 3 3 3

wenn's aber ein c programm sein soll, dann ist das 1. das falsche forum und 2. musst du selbst ausprobieren ob's da auch funktioniert, aber ich denke schon

musketaquid
14-02-2006, 14:32
OHH! Ich hab in Scriptsprachen gepostet, Sorry, es ist doch ein C-Programm. Dann muss der Thread wohl verschoben werden.