[gelöst] printf ausgaben abfangen

Alles rund um die Programmierung mit Qt
Antworten
Neabit
Beiträge: 6
Registriert: 27. Mai 2007 18:30

[gelöst] printf ausgaben abfangen

Beitrag von Neabit »

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.
DarkWotan
Beiträge: 65
Registriert: 18. Mai 2006 10:03

Beitrag von DarkWotan »

Du könntest die Ausgaben z. B. puffern.

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();
}
MfG, Cedric
Neabit
Beiträge: 6
Registriert: 27. Mai 2007 18:30

Beitrag von Neabit »

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?
Antworten