Avevo bisogno di inoltrare lo stdout a file diversi per separare alcune stampe prodotte e il ripristino al normale stdout.freopen: ripristino dello stream originale
ho usato freopen
per passare al file in questo modo:
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);
e funziona in realtà, ma alla fine del processo (mente che stdout viene deviata molte volte nel precedente allo stesso modo) I Non sono in grado di ripristinare lo stdout originale. Ho provato il seguente:
freopen("/dev/stdout", "w", stdout);
ma non sembra funzionare .. solo per informazioni che sto sviluppando su macosx.
Cosa devo fare?
Grazie in anticipo
Si potrebbe desiderare di aggiungere un po 'più in dettaglio, che cosa succede quando si fa il freopen finale()? Restituisce NULL? – unwind