SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: memmaker650 en Sábado 22 de Agosto de 2009, 11:07

Título: Redirecconar salida estandar (STDOUT)
Publicado por: memmaker650 en Sábado 22 de Agosto de 2009, 11:07
Buenas tengo un problemilla porque quiero redireccionar la salida estandar dentro de un programa y luego volverla a dejar como estaba originalmente. Sé que esto se puede hacer de forma externa al programa, con el operador <, pero necesito hacer una redirección dentro y otra fuera. El problema que tengo es que consigo hacer la redirección a un fichero sin problema, pero no consigo volverla a dejar como estaba originalmente.

Código que tengo, NO FUNCIONA.
Código: C++
  1. #include <fstream>
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <stdlib.h>
  5.  
  6. using namespace std;
  7.  
  8.    int main()
  9.  
  10.    {
  11.     FILE *valor;
  12.     FILE **valor2;
  13.    
  14.       cout << "This is going to the standard output stream" << endl;
  15.        
  16.       valor=&(*stdout);
  17.       valor=freopen("pia.txt", "w", stdout);
  18.  
  19.       cout << "This is going to michael.txt file" << endl;
  20.       cout << "Hola soy Jorge Vega" << endl;
  21.       stdout=*valor2;
  22.       cout << "Donde va esto" << endl;
  23.       return 0;
  24.  
  25.    }
  26.  
Título: Re: Redirecconar salida estandar (STDOUT)
Publicado por: Eternal Idol en Sábado 22 de Agosto de 2009, 21:46
http://bytes.com/topic/c/answers/487231 ... emporarily (http://bytes.com/topic/c/answers/487231-how-capture-stdout-temporarily" onclick="window.open(this.href);return false;)
http://support.microsoft.com/kb/58667 (http://support.microsoft.com/kb/58667" onclick="window.open(this.href);return false;)
Título: Re: Redirecconar salida estandar (STDOUT)
Publicado por: memmaker650 en Domingo 23 de Agosto de 2009, 13:46
Muchisimas gracias.
Título: Re: Redirecconar salida estandar (STDOUT)
Publicado por: Eternal Idol en Domingo 23 de Agosto de 2009, 14:41
De nadas  B)