Ausgaben eines Konsolenprogramms auslesen.



  • Hi!

    Ich bin neu hier, und komme gleich mit einer vielleicht etwas schwereren Frage 😃

    Eins vorweg: Das hätte auch ins normale C++ Forum gepasst, weil dies interessant für alle Betriebssysteme ist.

    Ich habe hier ein programm eines raid controllers, welches mit der eingabe eines bestimmten befehls S.M.A.R.T. Hex daten auf der linux konsole ausgibt.

    Diese ausgabe würde ich gerne in mein C++ Programm "einlesen" und sie so weiterverarbeiten. Gibt es dafür methoden?

    Funktionieren muss es, ich hab schon GUI anwendungen gesehen, welche das konnten 😃

    Ich bin für jede antwort dankbar,
    Microdeath 🙂



  • Microdeath schrieb:

    Eins vorweg: Das hätte auch ins normale C++ Forum gepasst, weil dies interessant für alle Betriebssysteme ist.

    Nein, eigentlich nicht. Gibt nämlich im Standard nichts, womit sich das realisieren ließe, dafür musst Du immer auf betriebssystemspezifische Funktionen zurückgreifen.

    Diese ausgabe würde ich gerne in mein C++ Programm "einlesen" und sie so weiterverarbeiten. Gibt es dafür methoden?

    Klar, siehe auch man: popen(3).



  • Danke für deine schnelle antwort. die Methode scheint ganz interessant zu sein, nach dem was da drin steht, erinnert mich das irgendwie an putty (ssh client für windows)...

    Ich denke mit popen krieg ich das hin, zur not meld ich mich noch mal wenn was nicht funzen sollte...

    ich arbeite nicht sehr oft mit der stdio.h, funktioniert der befehl auch mit Mac OS und Windows? oder benötige ich dort andere methoden?

    (ich achte bei meinen C++ Programmen sehr darauf, das man ohne großen aufwand die programme auf mehreren System Compilen kann 😉 )



  • Microdeath schrieb:

    Danke für deine schnelle antwort. die Methode scheint ganz interessant zu sein, nach dem was da drin steht, erinnert mich das irgendwie an putty (ssh client für windows)...

    Öhm, wüsste nicht, was der Putty damit zu tun haben sollte. 🙂

    ich arbeite nicht sehr oft mit der stdio.h, funktioniert der befehl auch mit Mac OS und Windows? oder benötige ich dort andere methoden?

    MacOS X ist ein Unix, da funktioniert das auch. Unter Windows wirst Du Dir IMO was anderes suchen müssen, dafür schaust Du am besten ins WinAPI oder Win32-Konsolenforum. (Keine Ahnung, welches da besser geeignet ist, ich treibe mich da nie herum. Im Zweifelsfall wirst Du aber ohnehin passend verschoben.)


Anmelden zum Antworten