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

05.01.2008, 15:52

VS 2005 Express Consolenproblem

Hallo Leute,

wieso schliesst sich die Console, wenn ich das Programm ausgeführt habe?
Bin absolut ratlos und es wäre cool wen mir jemand helfen könnte.
Danke schon mal im voraus.

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

05.01.2008, 15:54

Warum sollte sie denn offen bleiben? Wenn das Programm beendet bist, brauchst du doch auch keine Konsole mehr ;) Wenn es dir allerdings darum geht die Ausgabe zu lesen, hilft folgende Funktion:

C-/C++-Quelltext

1
2
3
4
5
6
void Pause(void)
{
    std::cout << "Hit Enter to continue ...";
    std::cin.get();
    std::cout << std::endl;
}


Edit: Wehe es kommt wer mit system("pause") ... Mir ist da grade eben noch ein Artikel eingefallen, der jedem klarmachen sollte warum das schwachfug ist!

3

05.01.2008, 16:18

Danke für die schnelle Lösung meines Problems, aber ich verstehe nicht wieso die Console vom System automatisch geschlossen wird?
In Visual C++ 6.0 von Heikos Buch muss man die Console noch mit einer beliebigen Taste schliessen und ich würd gern diese Einstellung im 2005er haben (ohne C++ Code).

4

05.01.2008, 16:27

Das Programm wird mit dem ende der Mainfunktion beendet. Mit der return 0; Anweisung wird diese beendet, also wird das Programm geschlossen.
Deshalb musst du vor dem return 0; noch ein

C-/C++-Quelltext

1
std::cin.get ( );
einbauen!
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

5

05.01.2008, 16:48

Habs gerade ausprobiert und die Console bleibt trotzdem nicht offen, damit ich die Ausgabe lesen kann.

6

05.01.2008, 17:08

Dann räum mal std::cin auf und ruf dann get auf. Befindet sich wahrscheinlich noch was im Buffer.
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

7

05.01.2008, 17:20

Falls du nicht weiß wie das geht. Du musst wenn du cout aufgerufen hast noch vor cin.get schreiben:

C-/C++-Quelltext

1
std::cin.sync ( );
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

8

05.01.2008, 19:11

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

Werbeanzeige