Как восстановить стандартный вывод после использования freopen

Я пытаюсь перенаправить вывод в моей программе на C ++ из stdout следующим образом:

 freopen(cmd.c_str(),"w",stdout);    

Затем я вызываю систему для выполнения cmd. Я также пробовал разветвлять, а затем вызывать execvp. В любом случае, когда управление программой возвращается к моей программе, вещи, записанные в stdout, больше не отображаются. Как можно восстановить нормальное поведение?

11
задан neuromancer 1 May 2011 в 05:36
поделиться