Benutzereingabe mit "Default"
-
Hallo,
kann mir jemand sagen wie ich folgendes hinkriege:
Ich möchte vom Benutzer eine Eingabe einlesen (kenne bisher nur scanf() ), aber einen bestimmten String als "Default" benutzen, also einen der benutzt werden soll wenn einfach nur ENTER gedrückt wird.
Es soll also z.B. dort stehen
"Ihre Eingabe: default_value" mit einem hübsch blinkenden Cursor dahinter.
Bei scanf("%s", sVar) wird leider kein ENTER akzeptiert, es muss mind. ein Buchstabe angegeben werden.Gruß,
Michel
-
Du koenntest mit getchar einsen string Zeichen für Zeichen zusammenbasteln, wenn halt das erste Zeichen schon enter ist dann nimmst du halt den default string.
char string[20]; string[0]=getchar(); if(string[0]=='\n')string = ... else for(int i=1;getchar[i]!='\n';)string[++i]=getchar();
Oder sowas in der Art
-
Man könnte auch einfach fgets() (mit stdin) verwenden. Das liest Zeichen ein bis ENTER gedrückt wird und es lässt keinen Bufferoverflow zu.