linux的popen函式使用

2021-08-02 23:41:05 字數 569 閱讀 6470

有了popen,使得linux開發的程式相當於可以輕鬆呼叫這台機器上的任何程式,因為popen執行命令後,可以返回執行輸出結果供程式使用

使用範例:

#include#include//strlen

#include#include#includeusing namespace std;

//execute shell command

//執行乙個shell命令,輸出結果逐行儲存在resvec中,並返回行數

int32_t myexec(const char *cmd, vector&resvec)

char tmp[1024]; //設定乙個合適的長度,以儲存每一行輸出

while (fgets(tmp, sizeof(tmp), pp) != null)

resvec.push_back(tmp);

}pclose(pp); //關閉管道

return resvec.size();

}int main()

}

編譯 g++ opentest.c -o a.out

C語言 popen函式的使用

一 利用system函式呼叫shell命令,只能獲取到shell命令的返回值,而不能獲取shell命令的輸出結果,那如果想獲取輸出結果怎麼辦呢?用popen函式可以實現。二 定義函式 file popen const char command,const char type 函式說明 popen 會...

Linux中的popen函式和system函式

說在前面 在實際程式設計中儘量減少使用system函式。int system const char command 說明 system 通過呼叫 bin sh c命令執行命令中指定的命令,並在命令完成後返回。在執行該命令期間,sigchld將被阻塞,並且sigint和sigquit將被忽略。返回值 ...

popen函式的實現

注 本文 本人有修改對 open max 的呼叫 popen函式的實現包括一下幾步 1 使用pipe 建立管道 2 使用fork 建立子程序 3 在子程序中呼叫exec族函式執行命令,通過管道將結果傳送至父程序 4 在主程序中等待子程序執行,子程序執行完成後將接收其結果,返回結果的檔案指標 類似與s...