使用c++执行脚本

execute script with C++

本文关键字:脚本 执行 c++ 使用      更新时间:2023-10-16

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

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

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

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

我不能在执行脚本后读取文件out.txt,因为我没有权限。我把我的c++程序部署在另一个框架(boinc)上,这个框架没有给我这个权限。

有人能给点提示吗?提前感谢!菲利普

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

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

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