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
1 | #include <stdio.h>
|
2 | int main(void)
|
3 | {
|
4 | setbuf(stdout, NULL);
|
5 | for (int i = 0; i < 5000000; ++i)
|
6 | printf("%d ", i);
|
7 | }
|
ist bei Umleitung in eine Datei ( ./a.out > viele_zahlen.txt ) ohne das
setbuf auf meinem PC um den Faktor 10 schneller.