Zitat Zitat von Rolus
Noch bequemer ist natürlich die Methode mit system("pause"); bzw. getch();. Und auch wenn es von etlichen Hardlinern nicht geschätzt wird, kann man es doch ohne große Bedenken nutzen.
Kommt drauf an. Wenn man nur ein bißchen Rumgespiele macht ist es egal, weil der Code ohnehin keinen Wert hat und niemand ihn je sehen wird.
Sobald das Programm aber irgendeinen tatsächlichen Nutzwert hat (also die Chane, daß jemand sonst es benutzt größer als null ist) sollte man den Kram lassen, weil er den Erwartungen des Users zuwiderläuft. Die Verwender von Kommandozeilenprogrammen erwarten, daß das Programm nur dann auf Eingaben wartet, wenn es tatsächlich welche braucht.

Das ist natürlich besonders unter Linux so, wo man sich in Shellskripten und komplizierten Kommandos darauf verläßt, daß ein Programm sich beendet, wenn es fertig ist. Aber auch unter Windows gibt es Leute, die mit Batchdateien und WSH-Skripten ähnliche Dinge anstellen.


Fazit: Wenn eine Chance besteht, daß jemand das Programm tatsächlich benutzt sollte man am Ende nicht sinnlos auf Input warten. Bei Fingerübungen macht es nichts. Wenn man bei einem echten Programm eine Wartezeit möchte würde ich dazu rten, einfach die oben gezeigte Batchdatei zu modifizieren und das Programm darüber zu starten. (Sprich: Du schreibst den Dateinamen des Programms in die erste Zeile und packst die Batchdatei dann in den gleichen Ordner.)