10
我正在編寫一個運行系統命令的Android/Linux下的C程序。該命令輸出一些文本到標準輸出,我試圖捕獲輸出到一個字符串或字符數組。從標準輸出獲取輸出的系統命令C
例如:
system("ls");
會列出當前目錄到stdout的內容,我想能夠捕獲數據到一個變量編程在C
我如何做這個?
謝謝。
我正在編寫一個運行系統命令的Android/Linux下的C程序。該命令輸出一些文本到標準輸出,我試圖捕獲輸出到一個字符串或字符數組。從標準輸出獲取輸出的系統命令C
例如:
system("ls");
會列出當前目錄到stdout的內容,我想能夠捕獲數據到一個變量編程在C
我如何做這個?
謝謝。
您想使用popen
。它返回一個流,如fopen
。但是,您需要關閉流pclose
。這是因爲pclose
負責清理與啓動子進程相關的資源。
FILE *ls = popen("ls", "r");
char buf[256];
while (fgets(buf, sizeof(buf), ls) != 0) {
/*...*/
}
pclose(ls);
謝謝,工作。 – user1118764 2012-08-07 08:06:08