cout abschalten
-
Hallo,
Ich binde eine Library in mein Projekt ein, die per cout Ausgaben erstellt.
Diese Ausgaben sollten jedoch im Framework (das Methoden der Library aufruft) nicht mehr erscheinen.
Nun die Frage:
Gibt es eine Möglichkeit, die Ausgaben auszuschalten, ohne den Code der Library (an den ich nicht rankomme) zu verändern?
Danke schon im Voraus
Thomas
-
Hallo,
bin mir nicht sicher, ob der Ansatz bei dir praktikabel ist, aber ich lasse bei einigen Projekten mittels FreeConsole() einfach die Konsole auf magische Art und Weise verschwinden und dann hat's das recht schnell mit den Ausgaben

MfG
GPC
-
Und aus welchem header liegt das?
-
Netter Ansatz, aber ich will ja gerade diese Ausgaben in eine Datei pipen und dann nicht ständig irgendwelche Ausgaben der Library löschen...
-
Hi,
meinst du was in dieser Art?#include <iostream> #include <fstream> int main() { std::ofstream log("log.txt"); std::streambuf* old_buf = std::cout.rdbuf(); std::cout.rdbuf(log.rdbuf()); std::cout<<"Wohin geht die Ausgabe?"<<std::endl; std::cout.rdbuf(old_buf); std::cout<<"Da isser wieder..."<<std::endl; return 0; }Gruss Spacelord
-
Genau das

Danke!
-
Es gibt leider doch noch ein Problem ...
Diese Methode unterdrückt zwar Meldungen, jedoch schert sich die Library selbst nicht darum, lediglich die Meldungen des Frameworks werden unterdrückt.
Gibt es eine Möglichkeit, lediglich die Meldungen des Frameworks abzustellen?
-
Korrektur:
Im letzten Satz meinte ich natürlich Library, nicht Framework

-
versuch mal std::cerr umzuleiten und wenn das nicht geht std::clog
-
selbes Problem wie zuvor auch schon

Ist das in C++ überhaupt möglich?
Oder könnte ich der Shell irgendwie sagen, dass sie Ausgaben der Library umleiten soll, nicht aber des Frameworks?
-
So wie es aussieht scheint die Library ihr eigenes ostream Objekt für die Ausgaben zu benutzen.Wüsste jetzt auf Anhieb nicht wie du, ohne den Quelltext der Lib ,daran was ändern könntest.
Gruss Spacelord
-
Mit einem Analyse-Programm wie dem FileMon von sysinternals.com könnte man nachschauen was für Filedeskriptoren alle so offen sind und vllt. findet sich ja derjenige der Lib, dann kann man den einfach umleiten.