Ich möchte die Ausgabe des Befehls analysieren w
zur Verwendung in meinem Programm Ich weiß, dass ich ausführen kann w
verwenden execlp
Aber gibt es eine Möglichkeit, die Ausgabe von w direkt in mein Programm zu bekommen? Ich denke, ich könnte eine Pipe oder so etwas benutzen, aber ich weiß nicht viel darüber oder wie Pipe in einem Execlp-Befehl funktionieren.
Danke für die Hilfe
Antworten:
1 für die Antwort № 1Benutzen 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 für die Antwort № 2
Ansehen popen
für einen einfachen Weg, dies zu tun, obwohl es verschiedene Schwächen hat (zum Beispiel die Shell anrufen). Libslack hat auch eine popen
Ersetzung (die Coprocess-Funktionen); es ist unter der GPL.
0 für die Antwort № 3
Mann Popen
(einige andere zufällige Charaktere, um den Lame-Filter zu umgehen)