Verzögertes printf ??
-
Servus,
frage mich schon lange, warum
printf("Berechnung startet..."); for(i=0;i<Ende;i++) { ... } printf("Fertig");
in der Ausgabe nicht "Berechnung startet" und dann nach der Berechnung "Fertig" ausgibt, sondern quasi erst rechnet und dann direkt in einem Output schreibt "Berechnung startet... Fertig", dabei scheint es unerheblich zu sein, wie lange die Berechnung dauert... woran liegt das ?
Darüberhinaus scheint dann eine Prozessanzeige in der Art "/" "-" "\" (<- als Sequenz ansehen) nicht möglich... wie macht man sowas ?
Winn
-
Hi,
wird nicht erst alles in einen Puffer geschrieben, der irgendwann geleert wird?
Versuchs mal mit fflush(stdout), bevor du die Berechnung machst.
mfg
Martin
-
Genau liegt an der Pufferung mach vor der Schleife mal ein fflush (stdout);
-
GENIAL !! Danke, hat direkt funktioniert
Wie würde man eine "Aktivitätsanzeige" implementieren ? So vielleicht:
EDIT: Hab's hinbekommen...
printf("Berechnung startet...%c",47); fflush(stdout) for(i=0;i<Ende;i++) { ... printf("\b%c",45); fflush(stdout) ... printf("\b%c",92); fflush(stdout) ... printf("\b%c",47); fflush(stdout) } printf("\bFertig");