Forum: PC-Programmierung cout in MFC Anwendung


von Benedikt (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von René K. (king)


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.

von Benedikt (Gast)


Lesenswert?

Danke funktioniert wunderbar !

von Rufus Τ. F. (rufus) Benutzerseite


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.