# Sternchen für Passworteingabe



## ewsd (7. August 2006)

Hallo,

ich möchte für die Passworteingabe auf der Konsole die Eingabe mit Sternchen unkenntlich machen.
Gibt es dafür vielleicht eine vorgefertigte Funktion?
Kann mit jemand behilflich sein und hat einen Lösungsansatz?

Dankeschön
Schramme


----------



## deepthroat (7. August 2006)

Hi.

Schonmal im Forum gesucht? Z.B. http://www.tutorials.de/forum/visualstudio-mfc/249221-passwort.html

Gruß


----------



## ewsd (7. August 2006)

Das soll am Ende ein C Programm werden, ohne Benutzeroberfläche. Das hatte ich vergessen zu schreiben.
Sorry.


----------



## deepthroat (7. August 2006)

Sorry, falschen Link gepostet: http://www.tutorials.de/forum/c-c/205443-ausgabe-passwort.html

Nächstes Mal: 
Gruß


----------



## ewsd (7. August 2006)

Hi.
Jetzt bin ich es schooon wieder.
Die conio.h scheint windowsspezifisch zu sein. Hab gelesen, dass es dafür einen Linux-Wrapper gibt, das kann ich mir allerdings schenken, da ich einen Vorführrechner bekomme, auf dem das laufen muss.
Hast du noch 'ne Idee?
Danke


----------



## jokey2 (7. August 2006)

Nimm 'getc(...)' oder 'getchar()'. dann brauchst Du die conio.h nicht.


----------



## deepthroat (7. August 2006)

jokey2 hat gesagt.:
			
		

> Nimm 'getc(...)' oder 'getchar()'. dann brauchst Du die conio.h nicht.


Das Problem ist, das die Eingabe mit getc bzw. getchar standardmäßig zeilenweise gepuffert wird. D.h. die Sternchen würden erst beim bestätigen mit der Eingabetaste angezeigt.

Man kann die Pufferung natürlich abstellen. Entweder mit der tcsetattr Funktion oder ganz einfach:
	
	
	



```
system("stty -icanon"); // abstellen.
...
system("stty icanon"); // wieder anschalten
```

In der Schleife mit getchar mußt du nur prüfen ob die Eingabe zuende ist bzw. ein Fehler aufgetreten ist oder die Eingabetaste gedrückt wurde.

Gruß

/edit: Ach ja, die Ausgabe der Zeichen selbst kannst du mit der Option "echo" kontrollieren:
	
	
	



```
system("stty -icanon -echo");
```


----------

