Beispielprogramme verschwinden gleich

  • Hi,

    habe einige Beispielprogramme für C gefunden, auch in Lehrbücher.

    Was mir auffällt, das das Konsolenanwendungen sind, was zwar nicht
    schlimm ist, aber die Fenster immer gleich verschwinden.

    Das finde ich nervig.

    Warum wird da nicht gleich noch die Tastatur abgefragt, bevor das Fenster geschlossen wird. So kann man sich das Ergebnsi wenigstens nochmal anschauen.

    Woran liegt das?

    Gruß
    Matt

  • -) mit eingabeauforderung (cmd)
    oder
    -) system("PAUSE");

    mit systempause funktioniert das eigentlich ganz gut. ich muss sagen, dass dieses problem bei mir auch auftritt. es kommt auch auf den compiler an, oder? ich verwende devc++ und das ist ein sch***, was das betrifft. aber auch in der eingabeaufforderung sollte es klappen.

    Wer FU sagt, muss auch T sagen

  • ich verwende devc++ und das ist ein sch***, was das betrifft.


    Wieso ist es ein Sch***, wenn ein beendetes Programm geschlossen wird? Besser als lauter tote Fenster rumliegen haben. Der Compiler kann auch nicht riechen, ob das Programm nur schnell was machen und dann wieder verschwinden soll oder nicht.

    *plantsch*

  • Hi,

    das mit getchar(); kenne ich.

    Wollte nur wissen, warum in den ganzen Listings nicht das angegeben ist.

    Ob das vielleicht am Compiler liegt, oder was auch immer.

    Wenn ich direkt in der Konsole ausführe, dann bleibt das Fenster offen.

    Das war der Haken.

    Dank' Euch.

    Gruß
    Matt

  • Hi,
    Wollte nur wissen, warum in den ganzen Listings nicht das angegeben ist.

    Weil ein Konsolenprogramm ueblicherweise aus einer Konsole heraus gestartet wird. Es macht normalerweise keinen Sinn, nach dem Ende eines Programms noch auf ein Zeichen zu warten (getchar()). Das ist nur ein Trick fuer deine konkrete Situation: Das du das Programm eben nicht aus einer Konsole heraus startest. Das geht eigentlich gar nicht (das Ding heisst ja nicht umsonst Konsolenprogramme). Und weil dein Betriebsystem das weiss, erstellt es in diesem Fall eine neue Konsole, extra fuer dein Programm.

    D.h. wenn Du den getchar() trick verwendest, dann aber nur zum testen der Programme. Wenn Du spaeter eigene Konsolenprogramme schreibst, die Du oder andere verwenden sollen, dann sollte das da nicht stehen.


  • Wenn ich direkt in der Konsole ausführe, dann bleibt das Fenster offen.

    Das war der Haken.

    Naja, das ist kein "Haken", sondern expected behavior von terminal programmen wuerd ich sagen.
    Waer doch bloed, wenn man bei jedem xterm -e mutt, nach dem schliessen von mutt nochmals das terminal schliessen muesste.

  • Zitat


    Weil ein Konsolenprogramm ueblicherweise aus einer Konsole heraus gestartet wird.


    Das habe ich dummerweise anfangs nicht verstanden. Naja, egal, jetzt verstehe ich den Sinn.

    Das mit dem "Konsolenprogramm" war mir echt nicht so klar.

    Gut, aber deswegen kann man ja auch fragen. ;)

    Danke, verstehe das jetzt mit gethchar().

    Danke Euch für die Infos.

    Jetzt ist vieles für mich klarer geworden.

    Wird mir zukünftig viel helfen.

    Schönen Abend noch.

    Gruß
    Matt

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!