我想解析命令w
的输出,以便在我的程序中使用
我知道我可以使用w
执行execlp
但是有没有办法直接将w的输出输入我的程序?我想我可以使用管道或其他东西,但我不太了解它或管道如何在execlp命令中工作。
感谢您的帮助
答案 0 :(得分:2)
查看popen
有一个简单的方法,虽然它有各种各样的弱点(例如,调用shell)。 libslack也有popen
替换(协同处理函数);它属于GPL。
答案 1 :(得分: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);
}
答案 2 :(得分:0)
man popen
(其他一些随机字符可以通过蹩脚的过滤器)