Hi,
dachte schon, dass ich nicht lange suchen muss, als ich die pause() Funktion in den man-pages gefunden habe, aber das Teil ist für den Zweck doch anscheinend überdimensioniert.
Ich möchte einfach nur auf eine Benutzereingabe warten, also sowas wie PAUSE(.exe) im alten DOS.
Ein anderes Forum schlug mir getch() bzw. eine Implementierung dafür vor...gibts nicht was einfacheres? scanf() finde ich zu gefährlich..wer weiß, wo die Daten hinlaufen würden bei böswilliger Eingabe.
help any?
[C] Auf Benutzer warten (Pause-Funktion implementieren)
warum nicht getchar() ?
Code: Alles auswählen
gms@gms1:~$ cat x.c
#include <stdio.h>
int main() {
printf("press enter to continue\n");
getchar();
printf("finished\n");
}
gms@gms1:~$ gcc -o x x.c
gms@gms1:~$ ./x
press enter to continue
finished
hatte nicht funktioniert, weil ich nicht an den Tastaturpuffer dachte.
Die Funktion zum Entleeren vom Puffer hatte ich zwar schon, aber ich dachte nicht daran, sie auch einzubauen an dieser Stelle.
Das brauch ich bei mir, weil ich bei der Menüführung Zahlen mit fgetc einlese und den Zeilenumbruch rauswürgen musste (der dann im Puffer verbleibt).
Die Funktion zum Entleeren vom Puffer hatte ich zwar schon, aber ich dachte nicht daran, sie auch einzubauen an dieser Stelle.
Code: Alles auswählen
void clear_stdin() {
char tmp;
if ((tmp = getchar()) != '\n')
ungetc(tmp,stdin);
}