MFC-Programme können normalerweise nicht in stdout schreiben. MFC macht etwas seltsames mit den stdout / stdin Pipes während des Starts und alles was du schreibst (zum Beispiel ein printf ("hallo");) geht einfach zu / dev / null.
Kann jemand erfolgreich aus einem MFC-Programm in stdout schreiben?
Danke fürs Lesen.
Verwenden Sie AllocConsole , um eine Konsole zum Schreiben zu erstellen . Im folgenden Artikel wird erläutert, wie Sie es zum Drucken in der Konsole verwenden können.
Erstellen einer Konsole für die Debugausgabe Ihrer MFC-App
Vergessen Sie nicht FreeConsole , wenn Sie fertig sind es.
Hier ist ein One-Liner, den ich vor einiger Zeit online gefunden habe und der Stdout an eine Konsole in MFC anfügt. Dadurch können printf und cout in das Konsolenfenster des aktuellen Prozesses geschrieben werden. Ich habe nie darüber nachgedacht, wie es funktioniert. Wenn Sie also eine Cerr- oder Cin-Version benötigen, sind Sie auf sich allein gestellt.
%Vor%Wenn Sie nur nach dem Debug-Fenster suchen, können Sie TRACE verwenden.
%Vor%Ich mache das, wenn ich schnell etwas teste und keine Dialogboxen wie MessageBox ("text") verwenden möchte.
Nachdem ich einen ganzen Tag damit verbracht habe, mein MFC-Programm mit printf () und cout zu drucken, fand ich endlich eine Lösung und entschloss mich, sie hier zu veröffentlichen, um zu helfen, wer bei MFC drucken möchte ...
%Vor%Rufen Sie einfach die obige Funktion an einer Stelle Ihres Programms auf, und danach können Sie printf () und cout ...
verwenden %Vor%