nicht schließen



  • Bassmaster schrieb:

    Schreib es einfach so dann geht es nich mehr zu

    ...

    besser nicht - system() gehört zu den Funktionen, die du nur in Notfällen verwenden solltest (d.h. nur, wenn du "intern" keine Alternative zu dem system()-Aufruf hast).



  • Nur zur Info das

    return 0;
    

    ist optional und besser finde ich sowieso EXIT_SUCCESS statt der 0 zu verwenden.



  • also erstens vielen dank euch allen, 2 fragen bleiben noch offen:
    1. gibt es eine möglichkeit es über einen bestimmten knopf schließen zu lassen, z. B. ESC statt ENTER
    2. gibt es eine möglichkeit dass es sich GAR NICHT schließt? ^^



  • Ich kenne nur

    cin.get()
    
    und
    
    system("PAUSE");
    

    was würdest du denn nehmen CStoll oder was wäre das beste ?



  • f1r3 schrieb:

    1. gibt es eine möglichkeit es über einen bestimmten knopf schließen zu lassen, z. B. ESC statt ENTER

    Mit ANSI C++ nicht - aber jenseits des Ansi-Standards haben die Betriebssysteme Alternativmöglichkeiten (ich verweise nochmal auf den Beitrag "Automatisches Schließen verhindern" in der Konsolen-FAQ)

    2. gibt es eine möglichkeit dass es sich GAR NICHT schließt? ^^

    Eine Endlosschleife - aber einen Programmabbruch über Task-Manager (oder Netzschalter) kannst du damit auch nicht verhindern (gegen solche Maßnahmen hast du keinerlei Schutzmaßnahmen).

    Edit @Bassmaster: Ich würde die erste Variante nehmen.



  • Naja, Start --> Ausführen --> cmd und von da aus öffnen, dann schließt die Konsole auch nicht!



  • Entweder wie daLord es sagte über cmd öffnen oder, wenn du Microsoft Visual C++ benutzt, einfach mal Strg+F5 (Starten ohne Debuggen) drücken. Da hält der schon automatisch am Ende an. Bei Codeblocks gibts die Option imho auch.

    Gruß
    Don06



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • @1:
    man kann das ganz einfach mit einer schleife realisieren und zwar so:

    #include <conio.h>
    #include <iostream>
    
    #define ESC 27
    
    using namespace std;
    
    void main ()
    {
    	int close;
    
    	/*
    	Hier steht dein Programmcode
    	*/
    
    	do{
    		fflush ( stdin );  // Den tastaturbuffer löschen
    		close = _getch (); 
    
    		if ( close == 0xE0 )   // Wenn eine Taste wie zB esc oder pfeiltaste gedrückt wird,
    			close = _getch (); // Liefert _getch () 0xE0 zurück, dann muss man die Funktion
    							   // erneut aufrufen
    	}while ( close != ESC );   // Damit bleibt die konsole so lange offen, bis esc gedrückt wird
    }
    


  • Bevor du solche fragwürdigen Tips gibst, lern C - "void main()" kann man eventuell noch durchgehen lassen, obwohl's nicht durch den Standard abgedeckt wird, aber "fflush(stdin);" ist UNDEFINIERT.


Anmelden zum Antworten