title image


Smiley Re: Passworteingabe in C++ programmieren
Hi



Die Frage kommt immer wieder *mal fürs Archiv vorschlag*. Mit den C++-Bordmitteln gibt es keine Möglichkeit, das "schön" umzusetzen. Wenn Sternchen erscheinen sollen, und man die auch wieder löschenkönnen soll, muß man die NICHT-standardkonformen Erweiterungen verwenden, um einen einzelnen Tastendruck abzufragen - bei den meiten Compilern gibt es diese Möglichkeit, mit Hilfe von kbhit und getch aus der conio.h:





#include <iostream>

#include <conio.h>



using namespace std;



int main(int argc, char **argv) {

char eingabe[80];

memset(eingabe, 0, 80);

int idx=0;

cout << "Passwort: ";

char c=0;

while (c!=13) { // 13 wird's bei RETURN

while (!kbhit());

while (kbhit()) {

c=getch();

if (c==8) { // 8 ist Backspace - lösche letztes Zeichen

if (idx>0) {

eingabe[--idx]=0;

cout << "\b \b";

}

} else if (c!=13) { // alles außer Return aufnehmen

cout << "*";

eingabe[idx++]=c;

}

}

}

cout << endl << "Eingegeben: " << eingabe << endl;

return 0;

}





bye





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: