Как запустить приложение и захватить вывод через stdout и, возможно, stderr?Запуск приложения, захват stdout и stderr в C++
Я пишу автоматизированную систему сборки, и мне нужно захватить вывод для анализа. Я хотел бы обновить репозиторий svn и захватить номер версии, чтобы я мог перемещать файлы в autobuild/revNumber/в случае успеха. Я также хотел бы построить с помощью make и загрузить компилируемый текст на свой сервер, чтобы все могли видеть предупреждения и ошибки при неудачной сборке.
Я не могу найти функцию system()
, но я нашел функцию CreateProcess()
на MSDN. Я могу запустить то, что мне нужно, но я не знаю, как захватить stderr и stdout. Я замечаю, что процесс запускается отдельно, если я не установил точку останова и не оставил приложение, которое затем сохранит весь текст в окне консоли приложения. Я также хотел бы подождать, пока все процессы не закончатся, а затем сканируют полученные данные для выполнения каких-либо дополнительных операций, которые мне нужны. Как мне это сделать?
Я считаю, что имя символа «&» является символом амперсанда. – 2009-06-12 18:00:43