用C ++执行脚本

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

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

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

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

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

有人有提示吗? 提前致谢! 费利佩

你可以使用popen()然后从popen()打开的管道中获取命令的输出

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

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

Interesting Posts