Выполнить скрипт с 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()
читать из трубы, как вы читаете из файла