Thread View: de.comp.lang.c++
5 messages
5 total messages
Started by Gernot Schwed
Fri, 12 Jan 1996 18:54
Passwortabfrage
Author: Gernot Schwed
Date: Fri, 12 Jan 1996 18:54
Date: Fri, 12 Jan 1996 18:54
11 lines
586 bytes
586 bytes
Hi! gibt es eine Funktion ähnlich 'gets' die bei der eingabe eines Strings (Passwortes) die Ausgabe zB ********* auf das Prompt druckt, dh nicht die chars?!? ... oder wie müßte man das angehen?!? DANKE! Gernot http://stud.uni-sb.de/~gescw/
Re: Passwortabfrage
Author: Claus Faerber
Date: Sun, 14 Jan 1996 10:46
Date: Sun, 14 Jan 1996 10:46
58 lines
2148 bytes
2148 bytes
Gernot Schwed <gescw@stud.uni-sb.de> schrieb zu
Passwortabfrage
in Artikel <4d6asg$78u@bellona.wg.saar.de> vom 12.01.96:
> Hi!
>
> gibt es eine Funktion ähnlich 'gets' die bei der eingabe eines Strings
> (Passwortes) die Ausgabe zB ********* auf das Prompt druckt, dh nicht
> die chars?!?
> ... oder wie müßte man das angehen?!?
Zeichen von der Tastaturlesen, fuer jedes ein '*' ausgeben und es
an einen String anhaengen, bei einem DEL das letzte '*' loaeschen
und den String verkuerzen, bei ENTER die Eingabe beenden:
void rd_password( istream& in, ostream& out,
char* buf, size_t size )
{
char a;
buf[0] = 0; pos = 0;
while(1)
{ in >> a;
switch (a)
{
case 13:
case 10:
return;
case 8:
if (pos>0)
buf[--pos] = 0;
out << a;
break;
default:
if (pos<size)
buf[pos] = a,
buf[++pos] = 0;
out << "*";
break;
}
}
}
>
> DANKE!
> Gernot
>
> http://stud.uni-sb.de/~gescw/
Claus
------------------------------------------------------------------------
Claus Andre Faerber - claus@faerber.muc.de - http://www.muc.de/~cfaerber
>>> Windows - best before 95 <<<
------------------------------------------------------------------------
Re: Passwortabfrage
Author: Dietmar Kuehl
Date: Mon, 15 Jan 1996 04:27
Date: Mon, 15 Jan 1996 04:27
21 lines
1571 bytes
1571 bytes
Hi, Gernot Schwed (gescw@stud.uni-sb.de) wrote: : gibt es eine Funktion ähnlich 'gets' die bei der eingabe eines Strings : (Passwortes) die Ausgabe zB ********* auf das Prompt druckt, dh nicht : die chars?!? : ... oder wie müßte man das angehen?!? Diese Frage laesst sich nur mit Kenntnis des Systems beantworten: Es gibt in C++ keine portable Moeglichkeit sowas zu machen (das liegt daran, dass es auf einigen System unmoeglich ist). Man muss in der Regel selbst die Zeichen einzeln einlesen. Auf DOSen kann man 'getch()' verwenden (wird zumindest in anderen Artikeln behauptet: ich habe keinen Zugang zu einer DOSe). Unter POSIX schaltet man mit 'tcsetattr()' (mit geeigneten Argumenten) in den 'non-canon' Modus und kann dann die Zeichen einzeln einlesen (zB. mit 'read()' oder mit 'cin', wenn man den Filedescriptor von 'cin' bestimmen kann, was meist nicht geht). Wie man es auf anderen Systemen macht weiss ich nicht. -- dietmar.kuehl@uni-konstanz.de http://www.informatik.uni-konstanz.de/~kuehl I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: Passwortabfrage
Author: Gernot Schwed
Date: Tue, 16 Jan 1996 20:11
Date: Tue, 16 Jan 1996 20:11
16 lines
940 bytes
940 bytes
kuehl@uzwil.informatik.uni-konstanz.de (Dietmar Kuehl) wrote: Hi! >Diese Frage laesst sich nur mit Kenntnis des Systems beantworten: Es >gibt in C++ keine portable Moeglichkeit sowas zu machen (das liegt >daran, dass es auf einigen System unmoeglich ist). Man muss in der >Regel selbst die Zeichen einzeln einlesen. Auf DOSen kann man >'getch()' verwenden (wird zumindest in anderen Artikeln behauptet: ich Jo, das funkt, aber leider nur mit Integer Werten... hast du da eine Idee?!? DANKE! Gernot http://stud.uni-sb.de/~gescw/
Re: Passwortabfrage
Author: Karl-Heinz Krause
Date: Thu, 18 Jan 1996 18:07
Date: Thu, 18 Jan 1996 18:07
18 lines
1127 bytes
1127 bytes
Am 12. Jan. 1996 schrieb Gernot Schwed (gescw@stud.uni-sb.de): > Hi! > gibt es eine Funktion ähnlich 'gets' die bei der eingabe eines Strings > (Passwortes) die Ausgabe zB ********* auf das Prompt druckt, dh nicht > die chars?!? > ... oder wie müßte man das angehen?!? Schau mal nach, ob sich in der zu Deinem Compiler gehörenden Funktionsbibliothek eine Funktion namens 'getpass' befindet. Schau am besten in der DOKU nach, ob es sowas gibt und wie man das verwendet. Die Funktion gehört zwar nicht zum ANSI-Standard, ist in den meisten Implementierungen aber vorhanden. Karl-Heinz Krause
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads