2013-04-26 41 views
-1

我想通過C++程序執行一個腳本並獲取它的輸出。目前我在做用C++執行腳本

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

但是我需要得到輸出字符串的命令,一些事情,如:

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

我無法讀取該文件out.txt執行腳本,因爲後我沒有這方面的許可。我在其他框架(boinc)上部署了我的C++程序,但沒有給我這個權限。

有沒有人有提示? 在此先感謝! 費利佩

+0

在系統例程中用'chmod'更改文件權限? – Eric 2013-04-26 11:32:11

+0

似乎你想要['popen'](http://linux.die.net/man/3/popen)函數? – 2013-04-26 11:33:28

+0

重複。請看http://stackoverflow.com/questions/478898/how-to-execute-a-command-and-get-output-of-command-within-c/478960#478960 – fnc12 2015-09-25 08:57:24

回答

0

可以使用popen(),然後從打開的管道得到命令的輸出通過popen()

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

,並讓你的輸出。你可以使用fgets()fread()像從文件中讀取一樣讀取管道