freopen: powrót do oryginalnego strumienia

Musiałem przekazać stdout do różnych plików, aby oddzielić niektóre wydruki i powrócić do normalnego wyjścia standardowego.

użyłemfreopen aby przejść do pliku w ten sposób:

char name[80];
memset(name, 0, 80);
strcpy(name, "./scripts/asm/");
strcat(name, m_func->m_name->m_value);
strcat(name, ".shasm");
freopen(name, "w", stdout);

I rzeczywiście działa, ale pod koniec procesu (pamiętaj, że stdout jest wielokrotnie przekierowywany w ten sam sposób) nie mogę go przywrócić do oryginalnego wyjścia standardowego. Próbowałem:

freopen("/dev/stdout", "w", stdout);

ale wydaje się, że to nie działa ... tylko dla informacji, które rozwijam na macosx.

Co powinienem zrobić?

Z góry dziękuję

questionAnswers(2)

yourAnswerToTheQuestion