1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Warum wird die Zeile (im Linux Terminal) nie ausgegeben, wenn ich den Text nicht mit einem newline '\n' abschließe? Das ist beim Debugging irgendwie total doof, wenn man das newline am Ende vergisst...
|
Anzeige
|
c - Debugging, linux terminal: printf verrekt ohne newline wenn danach endlosschleife
Warum wird die Zeile (im Linux Terminal) nie ausgegeben, wenn ich den Text nicht mit einem newline '\n' abschließe? Das ist beim Debugging irgendwie total doof, wenn man das newline am Ende vergisst... Weil der Buffer nicht 'geflusht' wird.
Gast
#3663466
X. H. schrieb: > Warum wird die Zeile (im Linux Terminal) nie ausgegeben, wenn ich den > Text nicht mit einem newline '\n' abschließe? weil das flush fehlt. Ich glaube es gibt eine Möglichkeit, das Puffer anzuschalten. Fällt mir aber im Moment nicht ein.
Gast
#3663492
Probier mal:
Für Debug-Augaben ist es wahrscheinlich am sinnvollsten, nach stderr zu schreiben: fprintf(stderr, "Ich bin immer sichtbar."); Man kann den Buffer manuell flushen (fflush) oder ganz abschalten ( setbuf ), wobei letzteres bei Programmen, die viel ausgeben, die Performance verhagelt. Das Beispiel
ist bei Umleitung in eine Datei ( ./a.out > viele_zahlen.txt ) ohne das setbuf auf meinem PC um den Faktor 10 schneller. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|