Rückgabewerte von ausgeführten Scripts/Programmen
-
Hey @all,
ich muss programme/scripts ausführen, dazu dachte ich mir zuerst das ganze mit system() zu lösen, mein Problem dabei ist aber das ich da keine Retourwerte/Ausgabe vom Programm bekomme.
Beispiel:
system("ping localhost");nun möchte ich in meinem Programm folgendes erhalten:
Pinging MY_HOSTNAME [127.0.0.1] with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0msWie kann ich das mittels C/C++ ermöglichen ohne die ausgabe in eine Datei zu schreiben und diese dann wieder zu lesen?
OS sind Windows, Linux, HP-UX
Vielen Dank im Voraus
Lg _freeze_
-
system() liefert einen Rückgabewert - das ist der Errorlevel, den das aufgerufene Programm am Ende geliefert hat (z.B. der Wert, den du per exit() ausgespuckt hast). Um an die Ausgaben heranzukommen, benötigst du Pipes (unter Unix öffnest du die per popen(), unter Windows kannst du CreateProcess() einige Dateihandles für die Standard-IO mitgeben).