Heim > Backend-Entwicklung > C++ > Wie kann ich stdout von einem „system()'-Befehl in C/C effizient erfassen?

Wie kann ich stdout von einem „system()'-Befehl in C/C effizient erfassen?

DDD
Freigeben: 2024-12-04 21:39:15
Original
894 Leute haben es durchsucht

How Can I Efficiently Capture stdout from a `system()` Command in C/C  ?

Standardausgabe von einem system()-Befehl optimal erfassen

In C/C die Ausgabe einer externen Anwendung erfassen, die über system() gestartet wurde ist für die Weiterverarbeitung unerlässlich. Die Funktion popen() bietet eine effiziente Lösung für diese Aufgabe.

Laut Popen-Handbuch:

#include <stdio.h>

FILE *popen(const char *command, const char *type);

int pclose(FILE *stream);
Nach dem Login kopieren

So verwenden Sie popen():

  1. Deklarieren eine FILE*-Variable zum Speichern des Streams.
  2. Rufen Sie popen() mit dem Befehl auf, den Sie ausführen möchten, und der Art der Verarbeitung, die Sie durchführen möchten („r“ zum Lesen aus der externen Anwendung).
  3. Verwenden Sie die zurückgegebene DATEI wie jede andere DATEI, um die Ausgabe des Befehls zu lesen.
  4. Rufen Sie pclose auf (), um den Stream zu schließen und zu warten, bis die Ausführung der externen Anwendung abgeschlossen ist.

Dieser Ansatz bietet eine effiziente Möglichkeit, Standardausgaben von einem System zu erfassen() Befehl und senden Sie ihn zur weiteren Verarbeitung an eine andere Funktion.

Das obige ist der detaillierte Inhalt vonWie kann ich stdout von einem „system()'-Befehl in C/C effizient erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage