Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

10.07.2008, 18:57

[Erledigt] Programm wird sofort beendet

Dies aber nur bei Start durch Doppelklick auf die exe-Datei.

Ich habe hier schon in den FAQs nachgeschaut, die SUFU verwendet und google zu dem Thema befragt, aber da kommen nur die Lösungen, dass ich entweder "cin.get ();" oder "system ("pause");" ans Ende (vor "return 0;") setzen soll.

Ich habe beides ausprobiert und es hat beides nichts gebracht. Was gibt es noch für Möglichkeiten?

Edit: Beim Starten durch den Compiler läuft es einwandfrei.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

10.07.2008, 19:16

Dann klingt das nach einem Absturz.
Wenn er dir mit der IDE nicht abstürtzt, dann würde ich mal darauf tippen, dass du gewisse Ressourcen nicht bereit stellst. (Dateien, Bilder usw).

3

10.07.2008, 19:22

Da hätte ich aber auch selbst drauf kommen können.
Die Exe-Datei liegt woanders als die Quelltextdateien und die Bilder. Daher sind die Bilder logischerweise nicht im passenden Unterordner. :D

Obwohl das Problem so einfach war, hätte es wohl sehr lange gedauert bis ich es finde, da ich es ganz woanders gesucht habe. :roll:

Thx dafür. :)

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

10.07.2008, 19:47

Zitat von »"Tobias Xy"«

Da hätte ich aber auch selbst drauf kommen können.
Die Exe-Datei liegt woanders als die Quelltextdateien und die Bilder. Daher sind die Bilder logischerweise nicht im passenden Unterordner. :D

Obwohl das Problem so einfach war, hätte es wohl sehr lange gedauert bis ich es finde, da ich es ganz woanders gesucht habe. :roll:

Thx dafür. :)


np. Habe Heute Morgen meine Glaskugel poliert. :lol:

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

5

10.07.2008, 20:46

Re: Programm wird sofort beendet

Zitat von »"Tobias Xy"«

"system ("pause");"


o.0 Ich frag mich wie das die Leute die mit C++ anfangen nur immer wieder finden .. System("pause") ist eher schlecht weil es dich Betriebssystem abhänig macht^^

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

6

10.07.2008, 21:26

Zitat

o.0 Ich frag mich wie das die Leute die mit C++ anfangen nur immer wieder finden .. System("pause") ist eher schlecht weil es dich Betriebssystem abhänig macht^^


wenn du sowieso nur für windoof entwickeln WILLST, dann isset okay. wobei es afaik noch andere nachteile bei system("pause") gibt.

sleep(1000) tuts genauso.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

11.07.2008, 12:44

Zitat von »"TrommlBomml"«


sleep(1000) tuts genauso.


:shock:

Wenn wir bei Windows sind:

C-/C++-Quelltext

1
2
3
4
5
6
#include <conio.h>

int main()
{
  _getch();
}
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

11.07.2008, 13:07

Zitat von »"TrommlBomml"«

wobei es afaik noch andere nachteile bei system("pause") gibt.


ja. jemand hat es mal so treffend beschrieben:

Zitat von »"jemand"«

Using system("pause"); is like using a bulldozer to open you front door.


abgesehen davon dass es vollkommen unportabel ist, solltest du musst dir darüber im klaren sein was system("pause"); macht. es führt ein systemkommando aus, das bedeutet: eine shell wird geöffnet: jedesmal wenn du system aufrufst wird eine exe (unter windows cmd.exe) gestartet und dieser der entsprechende befehl übergeben. der kommandoprozessor muss den befehl dann parsen und interpretieren. danach wird die exe beendet und dein programm läuft weiter. klingt nach ziemlich viel aufwand für so einen simplen schriftzug, oder? und das ist es auch ;)

9

13.07.2008, 13:49

Davon mal abgesehen das ja auch was anders als das normale Pause da registriert sein könnte :P

Nja nen einfaches std::cin.ignore() ist vollkommen ausreichend.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

13.07.2008, 14:01

Zitat von »"Deviloper"«

Davon mal abgesehen das ja auch was anders als das normale Pause da registriert sein könnte :P

Nja nen einfaches std::cin.ignore() ist vollkommen ausreichend.


Und dann? Das hält das Programm auch nicht offen!
@D13_Dreinig

Werbeanzeige