[LUGOS-PROG] getch ()

Darko Koruga darko.koruga at hermes.si
Fri Sep 19 11:03:31 CEST 2003


On Fri, 19 Sep 2003 10:49:28 +0200 Simon Striker wrote:

> Zivijo!
> 
> Torej: Danes ze nekaj casa poskusam vse mozne variante, a mi do
> sedaj se nobena ni obrodila sadov.
> 
> 1. Funkcijo getpass () sem izkljucil kot eno izmed moznosti, ker je
> kot pravi man getpass ( ) obsolete.
> 2.
> >...vendar se zdi resitev, da ne beres gesla iz stdin pac pa
> >tpkovnico preusmeris v kak drug (svoj) stream.
> 
> To moznost sem poskusil, vendar mi moje (sibko) znanje tega se ne
> dopusca... - mi ne rata.
> 3. Izmed vseh moznostiu mi je naslednja se najbolj uspela, vendar pa
> imam ob koncu izvajanja programa tezave v Linuxu, ker se vedno ne
> vidim crk, ki se"izpisejo" na zaslon: kot bi noecho ( ) se vedno
> deloval ...
> 
> Vesel bom vsakega maila in namiga v njem.
> 
#include <stdio.h>
#include <termios.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
  char buf[256];
  struct termios cfg;
  
  tcgetattr(0, &cfg);
  cfg.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL);
  tcsetattr(0, TCSANOW, &cfg);
  printf("Enter password: ");
  fgets(buf, sizeof(buf), stdin);
  printf("\nYou entered: %s", buf);
  cfg.c_lflag |= (ECHO | ECHOE | ECHOK | ECHONL);
  tcsetattr(0, TCSANOW, &cfg);
  printf("Enter name: ");
  fgets(buf, sizeof(buf), stdin);
  printf("You entered: %s", buf);
}

Drugace pa si oglej:
http://www.gnu.org/manual/glibc-2.2.3/html_chapter/libc_32.html



More information about the lugos-prog mailing list