sto reindirizzando l'output di stderr e stdout del mio programma C a due file e quindi il ripristino del stdout originale e stderr:Redirect stdout e stderr allo stesso file e ripristinarlo
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);
Questo è il codice axample . Questo funziona.
Ma vorrei reindirizzare stderr e stderr sullo stesso file (e successivamente ripristinarlo di nuovo) in modo che l'output sia ordinato nello stesso ordine in cui è ordinato sull'output della console quando non reindirizza stderr e stdout. Come lo posso fare?
saluti
sw