Konsolenausngabe auslesen



  • Hi,

    Mein "Problem": Ich würde gerne eine coole Logausgaben GUI machen, die alles, was in die Konsole ausgegeben wird, anzeigen kann.

    Meine bisherige Lösung: ich habe einfach alles, was ich mit ausgegeben habe gleich in eine eigene Liste gespeichert. Pseudocode:

    std::list<Glib::ustring> log;
    
    //...
    
    std::cout<<"[...]";
    log.push_back("[...]");
    

    Funktioniert ganz zufriedenstellend, nur wäre es auch schön, wenn es möglich wäre, die Konsolenausgaben von unterschiedlichen Libs, die ich verwende oder Programme, die mit z.B. mit system von meinem Programm aus gestartet werden auch zu lesen.
    Pseudocode:

    system("irgend-ein-tool");
    

    I-wie muss das ja möglich sein, sonst würden ja die ganzen IDEs ja net die Comilerausgaben anzeigen können.

    Ich weiß, dass eine Löung in der Win32 Library gibt, ist für mich aber nicht das richtige, da ich Betriebsunabhängig progge.

    Wenn jemand eine Antwort, oder einen Link zu einem passenden Artikel zu einer Lösung mittels Glibmm oder der Standartbibliotheken (deshalb dieses Forum) kennt, wäre das echt super, meine Google und Forumsuche haben nämlich zu nix geführt.





  • SilentRob schrieb:

    da ich Betriebsunabhängig progge.

    Du "proggst" sehr wohl OS-Abhängig, wenn du was von der Konsole lesen willst. Nicht jedes OS hat eine Konsole, und die die eine haben sprechen sie unterschiedlich an.



  • Die IDEs lesen Ausgaben eines anderen Programmes aus, und das funktioniert ohne eigene Library nicht (fast-)OS-unabhängig. Da hast du Glück, dass du das von deinem eigenen Programm lesen willst, ansonsten müsstest du nach pipe und fork googlen oder gleich nach einem Toolkit.



  • @Th69: Hey Danke! Scheint genau das richtige für mich zu sein!

    @wxSkip: Des pipe und fork ist aufjedenfall mal interessant - Danke für die Info!

    lG Robert


Anmelden zum Antworten