Programm beendet sich sofort wieder
-
Hallo,
ich habe ein Problem, und zwar macht mein geschriebenes Programm das, was es soll, aber es schließt sich dann eben sofort wieder. Mein Compiler ist Visual C++. Erstmal, wie ich vorgegangen bin:1. Leeres Projekt erstellt
2. Programmcode geschrieben
3. Kompiliert
4. "Debugging starten", einmal mit "Debug" und einmal mit "Release" als Projektmappenkonfiguration (Wo ist der Unterschied?)Wenn ich das Programm jetzt über Visual C++ starte, geht alles einwandfrei. Wenn ich allerdings die .exe in meinem Projects-Ordner starte, beendet sie sich sofort wieder. Ich konnte das Problem zwar mit folgendem Code
printf("Druecken Sie Enter zum Beenden\n");
scanf("%c", &n);
return 0;umgehen, aber zufrieden bin ich mit dieser Lösung nicht.
Also, was kann man da machen bzw. was habe ich falsch gemacht?
MfG plizz
-
du hast zwar mit dem MFC eine konsolenanwendung erstellt ist aber dennoch das falsche forum, du gehörst eher in C++ bzw WinApi.
der unterschied zwischen Debug & Release ist einfach das im debugmodus deinem programm dateien hinzugefügt werden die zur überwachung diehnen. im releasemodus fehlen diese dateien. folglich ist die exe auch kleiner.
ein konsolenprogramm wird normalerweise von der cmd.exe (C:\WINDOWS\system32) gestartet. wenn du dein programm über diese exe startest, kannst du mit deinem konsolenprogramm arbeiten. allerdings werden nur die ausgegebenen werte an die cmd.exe weitergeleitet, dein programm arbeitet im hintergrund.
-
Verstehe ich das jetzt so richtig...
"Da ist gar nichts dran falsch, bloß hast du eine Konsolenanwendung geschrieben, die man normalerweise über die Kommandozeile aufruft, wo auch alles funktioniert."
?
-

-
Ok, dann danke.
-
Füg mal das vor return ein:
system("pause");
-
Hier steht wie man es richtig macht http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html...und auch warum system() keine gute Idee ist.
-
Laß Dein Programm in einer Schleife laufen.
int i=0; while(i==0) { //Code }Beenden der Schleife durch Eingabe einer Taste (z.B. F4)