C/Visual C - Recoger salida de programa msdos

 
Vista:

Recoger salida de programa msdos

Publicado por sgoliver (2 intervenciones) el 14/10/2002 20:26:55
Me gustaria saber como ejecutar desde Visual C++ (aplicacion MFC) un programa en modo consola (msdos) sin que aparezca la consola de msdos, es decir, capturar de alguna forma la salida del programa para meterla en una cuadro de texto o algo asi. Para ejecutar el programa quiza pueda usar CreateProccess() pero como recojo los mensajes de salida del programa???

En definitiva, lo que quiero hacer es algo como lo que hace el propio
entorno de Visual C, que pone la salida del compilador de C en la ventana Output (creo que se llama asi). Porque el compilador de C es un programa para msdos.

¿Sabe alguien como hacer esto, o al menos como empezar?

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Recoger salida de programa msdos

Publicado por Alvaro (122 intervenciones) el 14/10/2002 23:36:03
Los programas en MSDOS al igual que en Linux / Unix escriben en la salida estandar.
Esta es tratada como un archivo especial y puede ser redireccionada.
En el código,
fprintf(stdout, "Hola mundo...");
se está escribiendo en la pantalla el string "Hola mundo...".
Lo que debes buscar es la forma de redireccionar la salida estandar 'stdout' a un archivo distinto, luego reflejar el contenido de este archivo en una ventana de windows mientras que el programa esté activo.
SUERTE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recoger salida de programa msdos

Publicado por Alvaro (122 intervenciones) el 14/10/2002 23:42:38
ok. lo encontre.
freopen es utilizado para redireccionar la entrada estandar (stdin) y la salida estanda (stdout).
SUERTE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recoger salida de programa msdos

Publicado por Googol (255 intervenciones) el 15/10/2002 00:27:38
Como dice Alvaro, lo que hay que hacer es un redireccionamiento de la salida estandar, al igual que hace el intérprete de órdenes con "dir | more".
Lo otro es evitar que aparezca la ventana. En CreateProcess había alguna opción para evitar que apareciera, busca en la ayuda (por ejemplo en el MSDN). Creo recordar que estaba un poco oculta, pero se podía hacer...

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recoger salida de programa msdos

Publicado por Alvaro (122 intervenciones) el 15/10/2002 00:38:47
Sierto...
En CreateProcess deebes pasa una estructura del tipo STARTUPINFO y en el mienbro wShowWindow le pones SW_HIDE.
Suerte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar