Вы не хотите назначать stdout
.Вместо этого вы (вероятно) хотите использовать freopen
, в вашем случае, например: freopen("/home/user/file.txt","w", stdout);
Если / когда вы выполняете всю обработку внутри, вы, как правило, лучшеот записи кода для получения FILE *
в качестве параметра и передачи правильного значения.Это не работает, если у вас есть внешний код, который записывает напрямую в stdout
.
Редактировать: Вероятно, я бы также упомянул еще одну серьезную проблему с freopen
- нет способа восстановить его впредыдущий поток.Вы можете снова использовать freopen
и знать путь, который будет записывать в консоль (или что-то еще).