Redireccionando stdout desde otro programa en C ++

Estoy escribiendo una prueba de unidad y, por lo tanto, no puedo cambiar el código dentro del archivo que estoy probando. El código que estoy probando tiene mensajes en curso que estoy intentando redirigir a un archivo para verificar que el programa esté enviando los mensajes correctos. ¿Alguien tiene una manera de redireccionar la salida estándar en otro programa que no cause un retraso? He intentado freopen () y eso hace que mi programa se cuelgue por alguna razón.

Respuestas a la pregunta(2)

Su respuesta a la pregunta