Ranes20 Geschrieben 8. August 2001 Geschrieben 8. August 2001 Hallo ! Ich habe mal wieder ein Problem Und zwar ... wenn ich ein C Programm fertig geschrieben habe und dann die .exe Datei ausführen möchte dann öffnet sich die MSDos Eingabeaufforderung *ganz klar* aber schließt sich auch wieder sofort. Das Programm läuft also ganz schnell ab (man sieht es kaum) und dann schließt sich das Fenster wieder. Das nervt unheimlich, da ich dehalb immer manuell das MSDOS Fenster öffnen muß und manuell im DOS-fenster das Programm aufrufen muß. Gibt es dafür ein spezielle Einstellung das das nicht mehr passiert???? Danke für eure Tips Bis dann
gugelhupf Geschrieben 8. August 2001 Geschrieben 8. August 2001 Also wenn du nicht mit VC arbeitest, bau doch einfach einen getch() am Schluss des Progs ein. gruß fredl
DanielH Geschrieben 8. August 2001 Geschrieben 8. August 2001 Hi, oder include <stdlib.h> (oder wars stdio.h ) und dann an das Ende system("pause"). das erzeugt die Aufforderung eine beliebige Taste zu drücken. MfG
Netstrike Geschrieben 8. August 2001 Geschrieben 8. August 2001 #include <stdio.h> getch(); oder getchar(); ans ende setzten und fertig
haddock Geschrieben 9. August 2001 Geschrieben 9. August 2001 a) wenn Du Konsolenprogramme schreibst, spricht nix dagegen, das DOS-Fenster permanent offen zu haben - ob Du in den Explorer wechselst, um eine .exe anzuklicken oder in ein DOS-Fenster ist fast egal (IMHO gehts im DOS-Fenster schneller, Tipper vs. Klicker). echte Betriebssysteme haben in der Eingabeaufforderung eine history, die die vorher eingegebenen Befehle behält. Gibts schon für 16bit DOS als "doskey". c) das ist besonders dann nützlich, wenn man einem Programm Aufrufparameter mitgibt, und das ist bei Konsolenanwendungen öfter der Fall. d) ansonsten natürlich wie vorgeschlagen, vielleicht sogar so: #ifdef _KLICKEN_ puts("...weiter mit Taste...\n"); getchar(); #endif Viel Spaß, Der Käptn
Ranes20 Geschrieben 13. August 2001 Autor Geschrieben 13. August 2001 Das von captain haddock gefällt mir ganz gut, obwohl es irgendwie komisch aussieht wenn immer am ende eines Programms die Nachricht kommt ... Bitte drücken Sie ein Taste etc. .... ! Aber vielen Dank da kann ich mal nen paar Sachen ausprobieren. Ich dachte immer das es an der MSDOS Eingabeaufforderung liegt Aber trotzdem die frage. Bei mir in der Schule arbeiten wir auch mit dem Borland C++ Compiler und wenn ich dort ein Programm schreibe und es dann in der MSDOS Eingabeaufforderung öffne dann schließt sich das Fenster nicht nach dem das Programm abgelaufen ist sondern bleibt stehen, obwohl ich nicht diesen Befehl mit getchar .... benutzt habe ??? Wie kann denn das sein ? Greetings
Bubble Geschrieben 14. August 2001 Geschrieben 14. August 2001 Also wenn Du ein MS-DOS Programm startest, bleibt nach dem Ende das Fenster offen. Wenn Du eine Windows-Konsolenapplikation startest, wird das Fenster der Windows-Konsolanapplikation nach deren Ende geschlossen. Wenn Du eine Konsolenapplikation aus Visual C++ heraus startest, dann bleibt sie aber nach dem Beenden offen. Ich glaube aber, das man irgendwo auch einstellen kann, ob das Fenster offen bleiben soll oder nicht. Bubble <FONT COLOR="#a62a2a" SIZE="1">[ 14. August 2001 03:26: Beitrag 3 mal editiert, zuletzt von Bubble ]</font>
haddock Geschrieben 16. August 2001 Geschrieben 16. August 2001 Der Trick besteht in der bedingten Kompilierung - schau dir mal das Thema Präprozessoranweisungen an. Das bedeutet, daß der Compiler bestimmte code-Abschnitte nur kompiliert, wenn ein bestimmtes Symbol definiert ist. Am Anfang Deines Programms schreibst du eine Zeile #define _KLICKEN_ dadurch wird das angegebene Symbol definiert, nur wenn dieses definiert ist, wird der in der Anweisung #ifdef _KLICKEN_ ... #endif enthaltene code mit übersetzt. Kommentierst du die Zeile aus, rauscht dein Programm einfach durch. Klaro ? Der Käptn
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden