c++調用shell命令


system()這個函數就不說了,不能讀取返回值。

#include<cstdio>

int main()
{

        FILE *fp;
        char buffer[1024]={0};
        fp=popen("ssh root@192.168.1.93 \'ls /\'","r");
        fread(buffer,1,sizeof(buffer),fp);
        printf("%s",buffer);
        pclose(fp);
}

切記不能用fgets,遇到換行符就傻逼了

注意:

popen的第二個參數值為"r"和"w" ,怎么理解 ,當值為 "r"時,fread才可以讀到值,值為”w",把值輸出到標准輸出流

pclose(fp) 返回的是子進程的狀態碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM