Выполнить скрипт с C++

Я хочу выполнить скрипт через программу на С ++ и получить его вывод. В настоящее время я делаю

system("./script.sh > out.txt");

Но мне нужна команда, которая возвращает результат в строку, например:

out = system("./script.sh");
printf(out);

Я не могу прочитать файл out.txt после выполнения скрипта, потому что у меня нет разрешения на это. Я развернул свою программу на С ++ в другом фреймворке (boinc), который не дает мне этого разрешения.

У кого-нибудь есть подсказка? Заранее спасибо! Фелипе

1 ответ

Ты можешь использовать popen() а затем получить вывод команды из канала, открытого popen()

FILE  *fp;
fp=popen("./script.sh","r");

и получить ваш вывод. ты можешь использовать fgets() или же fread() читать из трубы, как вы читаете из файла

Другие вопросы по тегам