2011-03-05 17 views
2

我想解析在我的程序中使用的命令w的輸出 我知道我可以使用execlp執行w,但是有沒有辦法從w中直接獲取輸出到我的程序中?我想我可以使用管道或其他東西,但我不太瞭解它或管道在execlp命令中的工作方式。如何在我的程序中使用終端命令的輸出?

感謝您的幫助

回答

1

使用popen(3)

#include <stdio.h> 
main() 
{ 
char *command="w"; 
FILE *fpipe = (FILE*)popen(command,"r"))); 
char line[256]; 
while (fgets(line, sizeof(line), fpipe)) 
{ 
    printf("%s", line); 
} 
pclose(fpipe); 
} 
0

人popen方法

(其他一些隨機字符,讓過去跛腳過濾器)

+1

「RTFM」 式的答案是 「跛腳過濾器」 存在的原因。 – grawity 2011-03-05 19:28:29

2

popen一個簡單的方法來做到這一點,儘管它有各種弱點(例如呼叫到外殼)。 libslack也有popen替換(協處理功能);它在GPL下。

相關問題