Systemausgabe mit Popen erfassen
Frage:
Wie man die realen Daten effektiv erfasst- Zeitausgabe eines mit system() aufgerufenen Systembefehls, z. B. system("ls"), zur weiteren Verarbeitung in C/C ?
Antwort:
Die Popen-Funktion bietet eine effiziente Methode zum Erfassen der Ausgabe von Systembefehlen. Seine Syntax lautet:
#include <stdio.h> FILE *popen(const char *command, const char *type); int pclose(FILE *stream);
Vorgang:
FILE *stream = popen(command, "r");
char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { // Process each line of output }
pclose(stream);
Beispiel:
#include <stdio.h> int main() { FILE *stream = popen("ls", "r"); if (stream != NULL) { char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { printf("%s", buffer); } pclose(stream); } return 0; }
Das obige ist der detaillierte Inhalt vonWie erfasst man Echtzeit-Systembefehlsausgaben in C/C mit „popen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!