Bienvenido: Ingresar
location: attachment:password_b.c de WebHome/TrabajosPracticos/Practico_02

Adjunto 'password_b.c'

Descargar

   1 #include <termios.h>
   2 #include <stdio.h>
   3 
   4 static struct termios old, new;
   5 
   6 /* Initialize new terminal i/o settings */
   7 void initTermios(int echo) 
   8 {
   9   tcgetattr(0, &old);           /* toma la configuración antigua de i/o de la terminal (grab old terminal i/o settings) */
  10   new = old;                    /* genera una nueva estructura de configuración igual a la antigua (make new settings same as old settings) */
  11   new.c_lflag &= ~ICANON;       /* disable buffered i/o */
  12   if (echo) {
  13       new.c_lflag |= ECHO;      /* setea en ON el modo ECO (set echo mode) */
  14   } else {
  15       new.c_lflag &= ~ECHO;     /* setea en Off el modo ECO (set no echo mode) */
  16   }
  17   tcsetattr(0, TCSANOW, &new);  /* setea la terminal con los nuevos atributos (use these new terminal i/o settings now) */
  18 }
  19 
  20 /* Resetea la terminal a la configuración antigua (Restore old terminal i/o settings) */
  21 void resetTermios(void) 
  22 {
  23   tcsetattr(0, TCSANOW, &old);
  24 }
  25 
  26 /* Read 1 character - echo defines echo mode */
  27 char getch_(int echo) 
  28 {
  29   char ch;
  30   initTermios(echo);            /* inicializa la terminal con el modo de ECO pasado como parametro */
  31   ch = getchar();               /* lee un nuevo caracter */
  32   resetTermios();               /* restaura la terminal a su configuracion previa a la ejecucion del programa */
  33   return ch;                    
  34 }
  35 
  36 /* Read 1 character without echo */
  37 char getch(void) 
  38 {
  39   return getch_(0);
  40 }
  41 
  42 /* Read 1 character with echo */
  43 char getche(void) 
  44 {
  45   return getch_(1);
  46 }
  47 
  48 /* Let's test it out */
  49 int main(void) {
  50   char c;
  51   printf("(getche example) please type a letter: ");
  52   c = getche();                 /* la funcion getche() lee un caracter con ECO */
  53   printf("\nYou typed: %c\n", c);
  54   printf("(getch example) please type a letter...");
  55   c = getch();                  /* la funcion getch() lee un caracter sin ECO */
  56   printf("\nYou typed: %c\n", c);
  57   return 0;
  58 } 

Archivos adjuntos

Para referirse a los adjuntos de una página, usa attachment:nombredelarchivo, como se muestra abajo en la lista de archivos. NO uses la URL del enlace [get], ya que puede cambiar fácilmente y dejar de funcionar.
  • [obtener | ver] (2019-09-02 11:56:18, 0.5 KB) [[attachment:Makefile]]
  • [obtener | ver] (2019-09-02 11:56:18, 31.6 KB) [[attachment:Proyecto_2018.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 18.7 KB) [[attachment:grupos_4R1.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 19.7 KB) [[attachment:grupos_4R2.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 44.7 KB) [[attachment:instalacion_Raspbian_SD.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 0.1 KB) [[attachment:main.c]]
  • [obtener | ver] (2019-09-02 11:56:18, 0.8 KB) [[attachment:password_a.c]]
  • [obtener | ver] (2019-09-02 11:56:18, 1.8 KB) [[attachment:password_b.c]]
  • [obtener | ver] (2019-09-02 11:56:18, 27.7 KB) [[attachment:placa.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 334.2 KB) [[attachment:placas.pdf]]
  • [obtener | ver] (2019-09-02 11:56:18, 0.1 KB) [[attachment:suma.s]]
 All files | Selected Files: delete move to page copy to page

No tienes permisos para adjuntar un archivo a esta página.