mikrocontroller.net

Forum: PC-Programmierung cout in MFC Anwendung


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wohin geht der Text, wenn ich cout in einer Dialogfeldbasierenden MFC
Anwendung verwende ?
Kann man den irgendwie sichbar machen, also so dass gleichzeitig eine
Dialogfeldbasierende Anwendung mit Konsole ensteht, auf der man z.B.
irgendwelche Debug Infos ausgeben kann, so wie es z.B. bei Java
Anwendung ist.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du mit AllocConsole eine Konsole anforderst, noch ein, zwei
Standardhandles umbiegst, dann hast Du, was Du willst.

Alternativ kannst Du mit OutputDebugString bzw. dem MFC-Macro TRACE
Debugausgaben in die Debugkonsole des Debuggers ausgeben.

Autor: René König (king)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil sich das mit dem "Umbiegen" so kompliziert anhört, noch eine
kleine Ergänzung. Das ist bereits alles:

AllocConsole();
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);

Allerdings bervorzuge ich ebenfalls den Weg über OutputDebugString.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke funktioniert wunderbar !

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei MFC-Anwendungen ist TRACE reizvoll - das funktioniert wie printf,
während bei OutputDebugString man sich den auszugebenden String vorher
zusammenbasteln muss.
Dafür funktioniert letzteres auch in C-Applikationen bzw.
C++-Applikationen, die nichts mit der MFC am Hut haben.

Von www.sysinternals.com gibt es auch einen recht komfortablen
Debugmonitor:
http://www.sysinternals.com/Utilities/DebugView.html

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.