Printf druckt nichts zur Ausgabe? C ++ SDL

8

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?

    
Qasim 17.06.2012, 02:48
quelle

8 Antworten

8

Standardmäßig leitet SDL stdout in eine Datei um, stdout.txt . Sie sollten es im Arbeitsverzeichnis Ihres Programms finden.

    
jrok 17.06.2012, 09:14
quelle
13

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

    
DaKrazyKatt 08.12.2012 11:59
quelle
7

Ü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.

    
thiagoh 19.12.2013 01:24
quelle
5
  

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 (include Windows.h )

    
ta.speot.is 17.06.2012 03:49
quelle
2

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.

    
Shawn Buckley 17.06.2012 03:00
quelle
2

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? .

    
talles 18.06.2012 13:13
quelle
1

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.

    
Superman 17.06.2012 02:54
quelle
-2

Es gibt ein Ausgabefenster von Visual Studio, wenn Sie Ihr Programm ausführen / debuggen. Sie sollten die Ausgabe in diesem Fenster sehen können.

    
Tariq Mehmood 17.06.2012 07:03
quelle

Tags und Links