Получить результат команды java -version в c ++ - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь понять, подходит ли установленная Java-версия для запуска с C ++.

Я посмотрел везде, но ни pipe , ни перенаправление вызова system () с использованием "cmd +> txtfile.txt", похоже, не работают с выводом "java -version".

Понятия не имею, почему, возможно, выходной поток не может быть перенаправлен?

Вся помощь очень ценится!

1 Ответ

1 голос
/ 17 октября 2019

Проблема в том, что "java -version" отвечает на stderr, который должен быть перенаправлен с использованием 2> not>.

В заключение

Записать вывод в файлиспользуя '2> filename.txt'

system("java -version &> temp.txt");

std::ifstream fin("temp.txt");

std::string Result = "";
std::string Line;

while(getline(fin, Line))
    Result+=Line;

fin.close();

(спасибо Эрвину Болвидту)

...