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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.