Eigene Console für std-kanäle



  • Hallo,

    ich möchte eine eigene Konsole in mein Programm einbinden, die dann per std-io also cout, cerr, clog beschrieben werden kann.

    Kann mir jemand (möglichst standard library) sagen, wie ich das initialisieren und anschließend wieder cleanen muss um per c... die Ausgaben abgreifen zu können?

    Dankeschön!


  • Mod

    Hallo Pria,

    wie du sicherlich bemerkst gibt es auf deine Frage überhaupt keine Resonanz, obwohl in der Zwischenzeit schon zahlreiche andere Fragen im Forum ausführlich beantwortet wurden. Das liegt an deiner Frage. Es ist unklar, was du möchtest und wobei genau du Schwierigkeiten hast. Ganz besonders unklar ist, was du wohl mit "einbinden" meinst.
    Lies dir bitte mal dies gründlich durch (wirklich lesen!):
    http://www.tty1.net/smart-questions_de.html

    Jetzt bring bitte keine knappe Erwiderung in zwei Sätzen, in denen du "einbinden" durch andere ähnliche Wörter wie "benutzen" oder "verwenden" umschreibst. Es gibt zahlreiche Methoden der Interprozesskommunikation, hier ist aber nicht einmal klar, ob Interprozesskommunikation gefragt ist oder ob du ganz was anderes möchtest. Wir brauchen daher eine präzise technische Beschreibung, um die Frage zu beantworten. Eine Beschreibung, die auch ein Fremder versteht, der dein Vorhaben nicht kennt.

    Ich kann mir aufgrund deiner Frage auch vorstellen, dass du selber nicht genau weißt, was das "einbinden" genau bedeuten soll. In dem Fall solltest du danach fragen (also nach dem, was du erreichen möchtest), nicht nach Details der technischen Umsetzung.



  • Wenn du nur cout/cerr/clog etc verwendest dann reicht es die Streambuffer auszutauschen. Dann schreiben aber printf() und Konsorten immer noch auf die Standardausgabe.



  • Ethon schrieb:

    Wenn du nur cout/cerr/clog etc verwendest dann reicht es die Streambuffer auszutauschen. Dann schreiben aber printf() und Konsorten immer noch auf die Standardausgabe.

    Deshalb macht man lieber freopen, dann sind beide umgelenkt.


Anmelden zum Antworten