Necesitaba reenviar la salida estándar a diferentes archivos para separar algunas copias producidas y volver a la normal stdout.freopen: volviendo a la secuencia original
que utilizan freopen
para cambiar al archivo de esta forma:
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);
Y realmente funciona, pero al final del proceso (cuenta que la salida estándar se redirige muchas veces en la misma forma anterior) I No puedo revertirlo a la salida estándar original. Intenté lo siguiente:
freopen("/dev/stdout", "w", stdout);
pero parece que no funciona ... solo para información que estoy desarrollando en macosx.
¿Qué debo hacer?
Gracias de antemano
Es posible que desee agregar algo más de detalle, ¿qué ocurre cuando se hace el freopen final()? ¿Devuelve NULL? – unwind