Gibt es eine Möglichkeit mit reinem ANSI C/C++ (ich will ncureses nicht), so dass der Benutzer etwas eintippt, ohne dass die Buchstaben erscheinen, so wie su oder ssh macht? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!
Nein, geht afaik nicht. Du musst das OS-spezifisch machen. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
du könntest die eingabe mit getchar abholen und nach jedem zeichen ein '\r' ausgeben. -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
Aber wenn ich getchar() benutze, dann wird die Funktion erst aufgerufen, wenn der Benutzer au ENTER gedrückt hat, das Passwort wird man sehen können, bevor man auf ENTER drückt. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!
Hab leider keine Zeit richtig zu suchen, aber ich kann dir eine Notfalllösung anbieten. Nicht schön aber es sollte funktioniert :-)
C++:
system("stty -echo"); // stellt das Konsolenecho ab std::string pw; std::cin >> pw; system("stty echo"); // stellt das Echon wieder an
Wie gesagt nicht schön....
Da das nicht mit ANSI lösbar ist, verschieb ich mal nach Linux -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Ich hab es selbst in Linux Forum verschoben. Es muss nicht unbedingt ANSI sein, weil es nur unetr Linux laufen muss. Danke, ich werde es versuchen.
Vielleicht hast du es 2. mal veschoben. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!Dieser Post wurde am 26.04.2004 um 13:08 Uhr von Pablo editiert.
Die Funktion ist zwar prinzipiell seit POSIX.2 als deprecated eingestuft, weil sie nicht threadsafe ist, aber bisher gibt es keine wirklich sinnvolle vorgefertigte Alternative, deswegen ist getpass immer noch de facto Standard. system zu benutzen ist jedenfalls deutlich unsicherer. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
getpass, das hört sich gut an, man pages sagen mir aber This function is obsolete. Do not use it.. Wem soll ich glauben? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!