ich die Ausgabe von stderr und stdout mein C-Programm in zwei Dateien und dann das Original stdout und stderr Wiederherstellung an Umleitung:umleiten stdout und stderr auf die gleiche Datei und wiederherstellen
int sout = dup(fileno(stdout));
freopen("test.txt","w",stdout);
int serr = dup(fileno(stderr));
freopen("test.txt","a",stderr);
//some output....
dup2(sout,fileno(stdout));
close(sout);
dup2(serr,fileno(stderr));
close(serr);
Das ist der Code axample . Das funktioniert.
Aber ich würde stdout und stderr auf die gleiche Datei umleiten (und später wieder wiederherstellen), so dass die Ausgabe in der gleichen Reihenfolge sortiert wird, wie es in der Konsolenausgabe sortiert wird, wenn stderr und stdout nicht umgeleitet werden. Wie kann ich das machen?
Grüße
sw