-1

我想通过一个 c++ 程序执行一个脚本并得到它的输出。目前我正在做

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

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

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

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

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

4

1 回答 1

1

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

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

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

于 2013-04-26T13:21:02.137 回答