passworteingabe funktioniert nicht richtig
-
hallo,
ich will eine passworteingabe in der cmd machen.
dies ist mein quelltext:
#include <stdio.h> int main() { char a,pw[20]; int i; for(i=0;a=getch()!='\r';i++) // '\n' funktioniert komischerweise nicht { pw[i]=a; putchar('*'); } printf("\n\nPasswort: %s\n",pw); //es wird nicht das eingegebene passwort angezeigt return 0; }
die eingabe selbst funktioniert gut.
allderdings wird am ende nicht das eingegeben passwort ausgegeben.
bsp.:
(eingabe:) test
(ausgabe:) Passwort:kann mir bitte jemand sagen, wo der fehler liegt?
-
Da fehlen Klammern.
Du weist a das Ergebnis des Ausdrucks getch() != '\r' zu.
-
vielen dank.
-
sorry für den doppenpost, aber noch eine frage:
warum geht '\n' nicht?
-
Weil dir dein getch() für die Eingabetaste '\r' liefert.
-
getch() und '\n' geht also generell nicht?
-
Da getch nicht Teil des Standards ist, gibt es keine generelle Antwort. Deswegen schrieb ich "dein" getch. Schau in deine Compilerdokumentation.
-
nochmals vielen dank.
-
Da fehlt noch ein
pw[i] = '\0';
nach der Schleife
-
danke, ist mir auch aufgefallen.