[gelöst] printf ausgaben abfangen
[gelöst] printf ausgaben abfangen
Ich benutze eine Lib deren Funktionen alles über printf ausgeben. Ich hab aber eine Window(s) Anwendung und würde die printf ausgaben gerne weiterverarbeiten. Wie mach ich das am besten?
Zuletzt geändert von Neabit am 6. August 2007 04:07, insgesamt 1-mal geändert.
Du könntest die Ausgaben z. B. puffern.
MfG, Cedric
Code: Alles auswählen
#include <QtCore>
#include <QApplication>
#include <QMessageBox>
#include <cstdio>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
char buffer[512];
setbuf(stdout, buffer);
printf("Hallo Welt!");
QMessageBox::information(NULL, "stdout", buffer);
return app.exec();
}
Vielen Dank funktioniert soweit 
Hab hier nochmal die Details nachgelesen http://www.cplusplus.com/reference/clib ... etbuf.html
Noch ein paar Fragen um zu checken das ich alles richtig verstanden habe.
Mit setbuf(stdout, NULL); entferne ich den Puffer wieder?
Sollte ich vor dem entfernen des Puffers fflush(stdio); ausführen?
Überlaufen kann der Puffer auch nicht weil er das automatisch nach stdout schreibt wenn der Puffer voll ist?
Hab hier nochmal die Details nachgelesen http://www.cplusplus.com/reference/clib ... etbuf.html
Noch ein paar Fragen um zu checken das ich alles richtig verstanden habe.
Mit setbuf(stdout, NULL); entferne ich den Puffer wieder?
Sollte ich vor dem entfernen des Puffers fflush(stdio); ausführen?
Überlaufen kann der Puffer auch nicht weil er das automatisch nach stdout schreibt wenn der Puffer voll ist?