Besser c-stil für Windows

hey,
ich lerne gerade c durch openbooks und habe andauernd das problem das windows andersartig reagiert als das erklärte(linux). z.B muss ich getchar(); immer zweimal schreiben, oder bei einer switch-anweisung nach jedem case den puffer mit fflush(stdin) löschen, weil er ansonsten noch das ENTER liest. kann ich da irgendwas machen in bezug auf meinen stil oder muss ich derart unschön verfahren???

Hi,

ich lerne gerade c durch openbooks

Welches „openbook“ und wo kann man die Stelle finden, um die es hier geht?

und habe andauernd das problem das windows andersartig reagiert als :das erklärte(linux). z.B muss ich getchar(); immer zweimal
schreiben,

Warum?

oder bei einer switch-anweisung nach jedem case den
puffer mit fflush(stdin) löschen, weil er ansonsten noch das
ENTER liest. kann ich da irgendwas machen in bezug auf meinen
stil oder muss ich derart unschön verfahren???

Meine Vermutung ist, dass Du ein Problem mit dem Verständnis der „stdin“ Funktionen im Zusammenspiel mit Deinem Betriebssystem hast.

„getchar“ liest von „STDIN“, in einer DOS Shell also der Tastatur ein. Das tut es, bis ein EOF signalisiert wird. Das passiert bei der (gepufferten) Eingabe aber erst nach dem drücken der ENTER Taste. Das ist bei Linux aber auch nicht anders.

Man tut sich erheblich leichter, wenn man zum Verständnis der „stdio“ Befehle mit Dateien und nicht mit der Tastatureingabe arbeitet. Eine Tastatureingabe würde man ohnehin praktisch nie über diese Funktionen machen. Dafür gibt es bessere Bibliotheken.

Gruß

Fritze