Estoy utilizando una biblioteca que está imprimiendo un mensaje de advertencia en cout
o cerr
. No quiero que este mensaje de advertencia llegue a la salida de mi programa. ¿Cómo puedo capturar esta salida y ponerla en /dev/null
o similar?Salida de la función de redireccionamiento a/dev/null
EPM:
#include <iostream>
void foo()
{
std::cout << "Boring message. " << std::endl;
};
int main()
{
foo();
std::cout << "Interesting message." << std::endl;
return 0;
}
La salida debe ser:
Interesting message.
¿Cómo debería modificar main
para obtener el resultado deseado? (foo
no debe ser cambiado.)
He intentado utilizar freopen()
fclose(stdout)
y como se sugiere en esta pregunta How can I redirect stdout to some visible display in a Windows Application?. El resultado es que nada está impreso.
Gracias esto funciona, sin embargo, he decidido marcar la otra respuesta como la respuesta aceptada. – Unapiedra
Gracias @Unapiedra. Modales siempre apreciados :) – wreckgar23
¿Puedo sugerir que se guarde el estado actual a través de 'rdstate' y luego reiniciarlo después? Eso es un poco más seguro que borrar el estado de la secuencia. – SirGuy