ausgabe von cmd.exe in variable umleiten

Wechselrichter

Grünschnabel
Guten Morgen,

habe mal wieder ein Problem:
Ich starte in einem C++ Programm mit dem system Befehl einen ping (ping <IP-Adresse>) . Nun ist es ja so, dass die darauf folgende Antwort direkt im Konsolenfenster ausgegeben wird. Ich möchte diese Ausgabe aber in eine char Variable einlesen und diesen String dann auswerten (Netzwerkteilnehmer aktiv / inaktiv).

Jetzt meine Frage: Ist so etwas überhaupt möglich? Und wenn ja, gibt es hier schon eine vorgefertigte Lösung (möglichst einfach, nicht mit CreateProcess, oder so etwas)?

Die Primitivlösung: system("ping <IP-ADDRESS> > textdatei.txt") ist nicht gewünscht

Es wird doch sicherlich noch eine andere Möglichkeit geben, die Ausgabe ins C Progrämmle reinzuholen. Mit dem Pipebefehl wird sie ja auch in eine Textdatei geschoben.

So, jetzt seid Ihr mal wieder gefragt!

Gruß
Der Wechselrichter
 
Hi.

Es gibt natürlich eine Möglichkeit - die wird dir aber nicht gefallen: man muß unter Windows CreateProcess und CreatePipe bemühen. Such einfach mal im Forum danach.

Gruß
 
Danke erst mal für Deine Antwort.

Hab schon im Forum ein bißchen gesucht und bin auf die entsprechenden MSDN Seiten gestolpert, die die verschiedenen Möglichkeiten (CreatePipe, CreateProcess) detailliert aufzeigen.

Ich denke die Problemstellung dürfte klar sein. Könnte hierfür jemand mal einen Beispielcode einstellen? Wäre echt nett und äußerst hilfreich.
Hauptsache mal weg von den Textfiles :mad:


Gruß
Der Wechselrichter
 

Neue Beiträge

Zurück