Ich versuche, "printf" in meinem Visual C ++ - Projekt zu verwenden, aber es funktioniert nicht. Mit Lazy Foo's Tutorial habe ich SDL in meinem Projekt eingerichtet, aber wenn ich es spiele, tut printf nichts.
%Vor%Die Ausgabe sieht so aus:
%Vor%Und das ist es auch schon. Was könnte falsch sein?
Rufen Sie die Projekteigenschaften auf, gehen Sie zum linker- & gt; system- & gt; -Subsystem und ändern Sie es in die dritte Option, CONSOLE. Das sollte es tun
Überprüfen Sie in Linker -> System
in den Eigenschaften Ihres Projekts, ob das SubSystem vorhanden ist
%Code%.
Dadurch wird ein separates Konsolenfenster angezeigt, wenn Sie Ihr Programm ausführen. Wenn Ihr aktueller Einstiegspunkt nicht main ist, müssen Sie ihn auf diesen ändern, wenn Sie dies tun.
Alles funktioniert, ich habe sogar ein Bild auf dem Bildschirm angezeigt, aber ich kann nicht programmieren, ohne Nachrichten ausgeben zu müssen
Ich nehme an, das bedeutet, dass Ihnen ein Fenster zur Verfügung steht, keine Konsole.
Wenn Sie etwas in das Ausgabefenster schreiben möchten, verwenden Sie OutputDebugString
:
Sendet eine Zeichenfolge an den Debugger zur Anzeige.
%Vor%Kopfzeile
WinBase.h
(includeWindows.h
)
Printf benötigt normalerweise eine neue Zeile, um die Konsole zu aktualisieren. Fügen Sie am Ende ein '\ n' Zeichen hinzu und führen Sie das Programm erneut aus.
Versuchen Sie, NO_STDIO_REDIRECT zu definieren.
%Vor%Wenn das nicht funktioniert, versuchen Sie die Lösung in diesem Link: Wie bekomme ich die Konsolenausgabe statt stdout.txt und stderr.txt? .
Sie sehen die Ausgabe wahrscheinlich nicht, da Sie das Programm in Visual Studio ausführen, indem Sie F5 drücken, und das Konsolenfenster wird geschlossen, nachdem das Programm beendet wurde.
Sie können eines der drei Dinge tun -
Setzen Sie einen Haltepunkt bei der Rückgabeanweisung.
Setzen Sie eine getchar () -Anweisung vor der return-Anweisung.
Führen Sie das Programm aus, indem Sie Strg + F5 anstelle von F5 drücken.
Alles oben genannte bewirkt, dass das Konsolenfenster auf dem Bildschirm bleibt.
Sie können die EXE auch direkt über eine Eingabeaufforderung (cmd.exe) ausführen.
Es gibt ein Ausgabefenster von Visual Studio, wenn Sie Ihr Programm ausführen / debuggen. Sie sollten die Ausgabe in diesem Fenster sehen können.
Tags und Links c++ visual-c++ printf sdl