В Posix-совместимых операционных системах можно создать пайп с помощью функции popen и читать его вывод обычными функциями, работающими с указателем на FILE. В Windows, используя компилятор студии,
тоже можно воспользоваться этим методом (а MinGW точно предоставляет функцию popen).
Не С++, конечно, но должно работать