用C ++执行脚本

时间:2013-04-26 11:30:06

标签: c++ c linux boinc

我想通过c ++程序执行脚本并获取其输出。现在我正在做

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

但是我需要一个命令来将输出转换为字符串,例如:

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

执行脚本后我无法读取文件out.txt,因为我没有权限。我在其他框架(boinc)上部署了我的c ++程序,但没有给我这个权限。

有人有提示吗? 提前致谢! 菲利普

1 个答案:

答案 0 :(得分:0)

您可以使用popen(),然后从popen()

打开的管道中获取命令的输出
FILE  *fp;
fp=popen("./script.sh","r");

并获得你的输出。您可以使用fgets()fread()从管道读取,就像从文件中读取一样