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) 返回的是子進程的狀態碼