konsolenoutput eines anderen programms in variable packen
-
hallo,
könnte mir jemand bei dem problem helfen .
ich würde gerne den konsolenoutput einer anderen exe datei in eine variable packen, wäre super wenn das geht,
die standardgbeispeile im netz sind alle nur "bsp.exe" >> "bsp.txt", also den output in eine txtfile zu packen, ich hätts gerne in eine variable wie char*
-
Für Windows:
http://msdn.microsoft.com/en-us/library/ms682499(v=VS.85).aspxansonsten kannst Du natürlich nach:
bonzenbauer schrieb:
die standardgbeispeile im netz sind alle nur "bsp.exe" >> "bsp.txt"
die Datei bsp.txt mit Deinem Programm öffnen und einlesen ...
-
Oder noch einfacher, du pipst den Output einfach in den Input des anderen Programms.
a.exe | b.exe ^ <-PipeDabei gelten natürlich die selben Beschränkungen, wie bei der Eingabe von Hand. (Whitespaces und Newline übernehmen die Eingabe)
Sprich alles was du mit std::cout bei a.exe raus schreibst wird in b.exe bei std::cin eingelesen.
-
"
Sprich alles was du mit std::cout bei a.exe raus schreibst wird in b.exe bei std::cin eingelesen."Das ist ja interessant.
Also einfach in Programm a.exe in den Quellcode std::cout << "Hallo"
eingeben ...
und in b.exe const char * <<std::cin schreiben und dann programm b starten, abfrage abwarten und b starten und voila?
oder doch nicht so einfach??
-
bonzenbauer schrieb:
"
und in b.exe const char * <<std::cin schreiben und
Oje, ich glaube hier liegen ganz andere Probleme vor.
dann programm b starten, abfrage abwarten und b starten und voila?
Nein, beide Programme gleichzeitig starten und dabei mittels '|' mit einer Pipe verbinden. Das hat mit C++ grundsätzlich nichts zu tun, sondern ist ein Standardfeature jeder gängigen Kommandozeile.