musiałem naprzód stdout do różnych plików, aby oddzielić pewne wydruki wyprodukowane i wracając do normalnego standardowe wyjście.freopen: wracając do pierwotnego strumienia
użyłem freopen
, 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 to faktycznie działa, ale pod koniec procesu (umysł stdout jest przekierowywany wiele razy w poprzednim samo) I "Nie mogę przywrócić oryginalnego stdout. Próbowałem następujące:
freopen("/dev/stdout", "w", stdout);
ale nie wydaje się działać .. tylko dla informacji rozwijam na macosx.
Co należy zrobić?
góry dzięki
Możesz chcieć dodać więcej szczegółów, co się stanie, gdy wykonasz ostatnie freopen()? Czy zwraca NULL? – unwind