Мне нужно было перенаправить стандартный вывод в разные файлы, чтобы разделить некоторые произведенные отпечатки и вернуться к обычному стандартному выводу.
Я использовал freopen
для переключения на файл следующим образом:
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);
И это действительно работает, но в конце процесса (помните, что стандартный вывод перенаправляется много раз таким же образом) я не могу вернуть его к исходному стандартному выводу. Я пробовал следующее:
freopen("/dev/stdout", "w", stdout);
но, похоже, это не работает .. просто для информации, которую я разрабатываю на macosx.
Что я должен делать?
заранее спасибо