Konsolenfenster mitloggen
-
Hallo zusammen,
Ich hab mich nur mal etwas gefragt: Gibt es eine Möglichkeit, den Inhalt des Konsolenfensters irgendwie in einer Textdatei zu speichern? Also inklusive der vom Benutzer eingegebenen Daten (mit
std::cin)? Von mir aus kann man bereits von Anfang an die Streams mitloggen.Das Problem ist, dass man das Konsolenfenster trotzdem normal handhaben sollte, also alle Ausgaben auf dem Fenster erscheinen müssen. Nur sollte nebenbei noch alles, was man schlussendlich sieht, auch irgendwo abgespeichert sein.
-
Wenn du etwas in deinem Programm dazu ändern willst und nicht von ausserhalb, geht es vielleicht damit und ähnlichem:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-116667-and-start-is-17.htmlGrüssli
-
Danke. Wie ist es denn bei den Eingaben? Müsste man dazu den Streambuf von
std::cinbearbeiten? Weil ich fände es gut, wenn nachher in einer Textdatei wirklich alles so stehen würde, wie es im Konsolenfenster ausgegeben wird. Also auch die Benutzereingaben.Oder gibts da eine bessere Möglichkeit, den Inhalt des Konsolenfensters zu kopieren (muss nicht unbedingt C++ sein)?
-
Ja, du könntest wohl auch den
std::streambufvonstd::cinentsprechend manipulieren, nehm ich zumindest an.
Über Streams haben wir ja auch noch einen Artikel:
http://magazin.c-plusplus.net/artikel/Ein- und Ausgabe in CPlusPlus - IO-StreamsDer hilft allerdings in dem Problem wohl auch nicht all zu weit weiter. Ansonsten auf Werner Salomon warten, der scheint sich in Sachen Streams wirklich auszukennen.
Beim starten des Programmes gibt es natürlich noch möglichkeiten. Man kann gewisse Eingaben und Ausgaben umleiten. Aber ich kenne es eben nur als umleiten und nicht als kopieren.
Grüssli
-
Hmm. Wenn du sagst, dass es auch nicht reines C++ sein kann, dann würde ich da ev. direkt auf Konsolenebene arbeiten. Da kannst du ja relativ einfach den Lese/Schreibezeiger verändern und somit auch den Inhalt auslesen.
http://msdn.microsoft.com/en-us/library/ms682073(VS.85).aspx