¿Cómo puedo iniciar una aplicación y capturar la salida mediante stdout y quizás stderr?aplicación de inicio, capture stdout y stderr en C++
Estoy escribiendo un sistema de compilación automatizado y necesito capturar la salida para analizar. Me gustaría actualizar el repositorio svn y tomar el número de revisión para poder mover los archivos en autobuild/revNumber/si tiene éxito. También me gustaría construir usando make y subir el texto de compilación a mi servidor para que todos puedan ver las advertencias y errores en una compilación fallada.
No puedo encontrar la función system()
, pero encontré la función CreateProcess()
en MSDN. Puedo lanzar lo que necesito pero no tengo idea de cómo capturar stderr y stdout. Noto que el proceso se inicia por separado, a menos que establezca un punto de interrupción y mantenga mi aplicación abierta, que luego conservará todo el texto en la ventana de la consola de mi aplicación. También me gustaría esperar hasta que todos los procesos hayan finalizado y luego analizar los datos que produjo para hacer las operaciones adicionales que necesito. ¿Cómo hago algo de esto?
Creo que el nombre del caracter "y"/glifo es el signo y. –
De acuerdo: pero me refería a todos los '2> y 1' como el 'jeroglífico' (que, lo concederé fácilmente, es un uso indebido del término). –
Creo que sería un poco más claro si te refieras a '2> & 1' como una 'redirección' en lugar de un 'heiroglyph'. Alguien que no esté familiarizado con la lingüística egipcia y vaya y busque el término en wikipedia podría confundirse mucho. :) –