Tôi đang chuyển hướng đầu ra của stderr và stdout của chương trình c của tôi để hai tập tin và sau đó khôi phục lại các thiết bị xuất chuẩn gốc và stderr:Chuyển stdout và stderr đến cùng một tập tin và khôi phục lại nó
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);
Đó là mã axample . Những công việc này.
Nhưng tôi muốn chuyển hướng stdout và stderr sang cùng một tệp (và sau đó khôi phục lại) để đầu ra được sắp xếp theo thứ tự như được sắp xếp trên đầu ra bàn điều khiển khi không chuyển hướng stderr và stdout. Làm thế nào tôi có thể làm điều đó?
Trân
sw