Hi, ich habe mal eine kurze Frage. Ich habe mir eine Programmierumgebung dev c++ für Windows installiert und hab einfach mal ein c++-Programm aus dem Internet genommen und wollte es mal ausprobieren. Es kommt beim Compilieren auch keine Fehlermeldung, aber beim Start ommt nur ganz kurz ein Fenster und dass ist gleich wieder weg. In dem Fenster ist bestimmt was passiert, aber wie kann man es machen, dass das Fenster einen Moment bleibt, z.B. bis ich eine Taste gedrückt hab oder so, gibts da vielleicht eine kleine Kommandozeile, die ich in das c++-programm am Ende kurz vor dem Return in der main-Funktion einbauen kann, damit es ne weile anhält?
:
Verschoben durch User
Das klappt leider nicht, da kommt dann eine Fehlermeldung "request for member out non available".
Oder du rufst das Programm ( also die *.exe-DAtei ) einfach per Kommandozeile auf.
Sheba_fatale schrieb:
> versuchs mal mit system.out >> ("Pause");
Imho war das:
1 | system("Pause"); |
aber ich meine das schreibt Dev-CPP von selbst mit rein ([1])? Daher kenne ich das glaube ich... [1] http://www.c-howto.de/tutorial-einfuehrung-compiler-windows.html
einfach am Schluß(nur am Schluß) ein " getch() " ran hängen, dann erwartet er einen Tastendruck von dir bevor er das Fenster wieder schließt.
vergiss dev c++ am besten direkt wieder. das wird nicht mehr weiterentwickelt und ist hoffnungslos veraltet. code::blocks oder Visual Studio Express (nur Windows) oder Eclipse sind sehr zu empfehlen.
Vielen Dank für Eure Hilfen. Ja, habs gesehen, dass devc++ von 2005 ist die "aktuelle" Version. Eclipse hab ich zwar auch installiert, aber da krig ich überhaupt kein c++-programm zum Starten, da komm ich irgendwie nicht mit klar. Eclipse scheint für jede neue Klasse eine eigene Datei zu kreieren und dann dazu noch eine Headerdatei und so, da bin ich überhaupt nicht mit klargekommen und compilieren lies sich das auch nicht, aber vielleicht hab ich noch was vergessen, dazu zu installieren, ich weis es nicht.So hab ich mir mal auf die schnelle das devc++ runtergeladen, um überhaupt mal ein bißchen mit dem c++ rumprobieren zu können, dafür müsste auch das etwas ältere Programm erstmal ausreichend sein.
von eclipse gibt es eine eigens angepasste Version für c(++). Hab ich aber noch nie benutzt. Code::blocks wird von sehr vielen empfohlen und sieht auch nicht schlecht aus. Ich selbst bevorzuge VS. DAs Problem von dev c++ ist auch, dass die benutzte Bibliotheken nicht aktuell sind. Das mögen zum einen Sicherheitrisiken sein (wobei das aber für dieersten kleinen Programme nicht relevant sein dürfte). Wenn ich mich nicht täusche ist die c++ standardbibliothek aber auch recht veraltet. die header haben da zB noch ein .h am ende (wenn ich mich recht erinnere), was laut c++-standard nicht der Fall ist. Du läufst also Gefahr, dass viele Beispiele, die du im Netz findest, nicht funktionieren.
lazyRacoon schrieb: > Eclipse scheint für jede neue Klasse eine eigene Datei zu kreieren und > dann dazu noch eine Headerdatei und so, So macht man das eigentlich in C++ üblicherweise. Wie wolltest du das machen?
Von Dev-C++ gibt es einen Ableger, der noch weiterentwickelt wird: http://wxdsgn.sourceforge.net/ Oder wer etwas retro angehaucht ist: http://amidevcpp.amiga-world.de/
Heinz schrieb: > Oder wer etwas retro angehaucht ist: > > http://amidevcpp.amiga-world.de/ Der Namen des Projekts in dem Screenshot auf der Startseite wirkt ja nicht grad vertrauenserweckend ;-)
passt aber prima zum Design (wenn man es so nennen mag) der Seite.
Also das Problem mit dem verschwindenden Fenster hättest du nicht, wenn du dich mal mit der ach so bösen, total benutzerunfreundlichen und hoffnungslos veralteten Konsole beschäftigen würdest. Wenn man das Programm von Hand aus einem Konsolenfenster aufruft, wird eher ein Schuh draus :-> getch() ist übrigens kein Standard-C/C++, sondern eine unportable Lösung für ein getchar() ohne Zeilenpuffer.
Sven P. schrieb: > Also das Problem mit dem verschwindenden Fenster hättest du nicht, wenn > du dich mal mit der ach so bösen, total benutzerunfreundlichen und > hoffnungslos veralteten Konsole beschäftigen würdest. Naja, die von Windows ist tatsächlich total benutzerunfreundlich und total veraltet. > Wenn man das Programm von Hand aus einem Konsolenfenster aufruft, wird > eher ein Schuh draus :-> Man sollte eben nicht erwarten, daß es sinnvoll ist, ein Konsolenprogramm durch Klick auf ein Icon starten zu wollen. > getch() ist übrigens kein Standard-C/C++, sondern eine unportable Lösung > für ein getchar() ohne Zeilenpuffer. Genauso wie das berüchtigte system("PAUSE").
Rolf Magnus schrieb: > Naja, die von Windows ist tatsächlich total benutzerunfreundlich und > total veraltet. Ach? Was magst Du meinen?
Ah, auf dieser Ebene wird hier argumentiert. Ja, das kann man natürlich so stehen lassen - wozu auch Argumente.
ich glaube, das würde jetzt nicht ganz in das Thema des Threads passen? Nicht, daß ich nichts zu meckern hätte zu dem Ding...
langsam. Dass die Command Language sicherlich ihre Schwächen hat, bestreitet niemand. Aber um in ein Verzeichnis zu wechseln, sich ein Directory ausgeben zu lassen, Files zu löschen und zu kopieren und insbesondere ein Exe zu starten, langt es allemal.
Exakt. Aber auch keinen Deut mehr. Wirklich sinnvoll arbeiten kann man damit echt nicht, und außerdem ist das Ding beim Scrollen schweinelahm, - je schneller im Laufe der Jahre die Hardware wird, umso langsamer wird cmd.exe.
Klaus Wachtler schrieb: > außerdem ist das Ding beim Scrollen schweinelahm, - je schneller > im Laufe der Jahre die Hardware wird, umso langsamer wird cmd.exe. Früher war cmd.exe ja auch noch stark mit dem kernel verwoben... Da konnte man durch schnelles Aus- oder Eingeben von einmal <tab> und mehrmals <backspace> hintereinander einen Blue-Screen erzeugen. Irgendein Service-Pack hat das dann rausgefiltert oder behoben...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.