Programm läuft durch, nichts passiert

sfh

Grünschnabel
Hallo Zusammen,

von vorne weg ich bin ein Anfänger in C++.
Habe eine "Hello World"-Programm in C++ geschrieben und nach dem Debuggen passiert nichts!

C++:
#include<iostream>
#include<windows.h>

using namespace std;

int main()
{
    cout << "Hello World" << endl;

    system("PAUSE");
return 0;
}

Habe schon in einigen Foren gelesen, dass

C++:
getch();
cin.get();

sowie strg + F5 helfen sollen aber nichts hat funktioniert.
Selbst wenn ich Absichtlich einen Fehler einbaue läuft es druch.

Ausgabe:

Code:
"ConsoleApplication3.exe" (Win32): "C:\Users\Simon\Documents\Visual Studio 2015\Projects\ConsoleApplication3\Debug\ConsoleApplication3.exe" geladen. Symbole wurden geladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\ntdll.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" wurde entladen.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\KernelBase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\vcruntime140d.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\ucrtbased.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\advapi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\msvcrt.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\sechost.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\rpcrt4.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\sspicli.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\cryptbase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\bcryptprimitives.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ConsoleApplication3.exe" (Win32): "C:\Windows\SysWOW64\kernel.appcore.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
Der Thread 0x454 hat mit Code 0 (0x0) geendet.
Der Thread 0x2d18 hat mit Code 0 (0x0) geendet.
Der Thread 0x2ac8 hat mit Code 0 (0x0) geendet.
Das Programm "[6928] ConsoleApplication3.exe" wurde mit Code 0 (0x0) beendet.

Kann mir jdm helfen?

Vielen Dank im voraus
 
Zuletzt bearbeitet:

sfh

Grünschnabel
Hilft nicht,

habe auch folgenden Code versucht:

C++:
#include <iostream> //std::cout, std::cin
using namespace std;

int main() {
    do {
        cout << '\n' << 'Press the Enter key to continue.'
    } while (cin.get() != '\n')
            return 0;
}

scheint wohl ein Problem mit Visual Studio zu sein :/
 

vfl_freak

Premium-User
habe gerade auf die Schnelle mal sowas gefunden:
C++:
cout << "Press enter to exit...";
while (wait)
{
    if (cin.get() == '\n')
    wait = false;
}
 

cwriter

Erfahrenes Mitglied
Hallo

Habe eine "Hello World"-Programm in C++ geschrieben und nach dem Debuggen passiert nichts!
Du meinst nach dem Erstellen? Nach dem Debuggen ist das Programm ja zu ende, da passiert nix mehr.

scheint wohl ein Problem mit Visual Studio zu sein :/
Wahrscheinlich nicht. Visual Studio ist so ziemlich die meistgenutzte IDE. Ich vermute einen Konfigurationsfehler.

Das Programm "[6928] ConsoleApplication3.exe" wurde mit Code 0 (0x0) beendet.
Irgendwas wird ja ausgeführt. Hast du die Projektmappenansicht offen? Welches Projekt ist fett gedruckt? Meine Vermutung: Es ist "ConsoleApplication3", aber du editierst Dateien in einem anderen Projekt, z.B. "ConsoleApplication4".
Wenn du den Projektmappenexplorer nicht offen hast, kannst du ihn mit Ansicht->Projektmappenexplorer öffnen.
Die "main.cpp", die du im Moment offen hast, ist normalerweise in dem Projekt, das selektiert ist. Wenn du dieses rechtsklickst und "als Startprojekt" festlegst, sollte F5 das richtige Projekt kompilieren und ausführen.

Lade hier doch einen Screenshot vom Projektmappenexplorer hoch, falls das nicht das Problem war.

wenn du das Programm in cmd.exe manuell startest, geht es dann?
Mit dem system("PAUSE")/cin.get() muss es nicht einmal die cmd.exe sein: Du kannst zu "[Projektordner]/Debug/[Projektname].exe gehen und einfach Doppelklicken. Aber wahrscheinlich existiert die Datei dort nicht.

Gruss
cwriter


/EDIT:
C++:
system("PAUSE");

ist übrigens völlig valider Code. Der Grund, warum man davon abrät, ist nur, dass es a) nur auf Windows läuft und b) in Produktivanwendungen nichts zu suchen hat und man es sich deshalb nicht angewöhnen sollte. Für Minimalbeispiele und Lerncode ist es dagegen durchaus angenehm. Unter anderem kann so Code mit nur einer einzigen Zeile (bzw. mit 2, wenn man ein explizites "return 0" bevorzugt (wie ich)) in der main-Funktion geschrieben werden: Es gibt eine Ausgabe und es wird eine Eingabe überprüft. Also die Grundlagen. Zum Testen ideal und zu Unrecht verschrien.

/EDIT2: Neue Idee: Hast du das Subsystem korrekt eingestellt? (Nur, falls du das Projekt als Win32-Applikation erstellt hast. ConsoleApplication3 ist eigentlich der Defaultname für CLR-Apps. Bei Win32-Konsolenapplikationen sollte das Subsystem ebenfalls bereits korrekt gesetzt sein. Nur bei Projekten, die als Win32-Fensteranwendung erstellt wurden, sollte man das überprüfen)
Projekt>Projekteinstellungen>Linker>Subsystem sollte auf SUBSYSTEM:CONSOLE stehen. Wenn dort SUBSYSTEM:WINDOWS steht, wird keine Konsole erstellt.
https://msdn.microsoft.com/en-us/library/fcc1zstk.aspx
 
Zuletzt bearbeitet: