Zum umleiten von printf die Ausgabe zurück in code?

ich Schreibe ein kleines c++ - app wrap-around-die opencv haar Trainings-Funktion (nämlich cvCreateTreeCascadeClassifier). Die Funktion wirft eine ganze Menge von Ausgabe zu der Konsole und ich will der parse-diesen Ausgang, so dass ich füllen mit den verschiedenen Variablen in meinem code.

Die Funktion, die ich verwenden möchten ist nicht Teil der eigentlichen openCV-Bibliothek; stattdessen hat er gebaut werden, mit meinem code als Teil des Projekts. Die Ausgabe aus der Funktion ist über printf.

Frage: Ist es möglich, das abfangen der printf-Anweisungen aus, bevor Sie am Ende auf der Konsole? Ich habe es geschafft, leiten Sie Sie mit freopen, aber das scheint mir ein wenig unbeholfen, wie ich müssen dann analysiert die Datei und dann löschen, wenn der Funktionsaufruf beendet ist. Auch, die Funktion ist wahrscheinlich ausgeführt werden, für mehrere Stunden (und möglicherweise sogar Wochen!) also die Größe der Datei, könnte ein Problem sein, wenn Ihr ständig angehängt zu.

Anforderungen: ich brauche diese app zu c++ und unter windows und linux (aber kein problem mit dem bedingten kompilieren Aussagen, wenn es sein muss). Ich möchte auch in der Lage sein, um noch meine cout und cerr-Nachrichten auf der Konsole (nur nicht die von printf ().

Mein googeln hat entfernt mein Wille zu Leben! Kann jemand helfen mit eine Lösung über code-Beispiel oder Verweise auf Orte, die ich suchen sollte, für eine Antwort?

Dank

InformationsquelleAutor john | 2011-05-06
Schreibe einen Kommentar