Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: surextru en 7 Junio 2017, 20:57 pm



Título: introducir un carácter en la consola de "cin", lo lea automáticamente
Publicado por: surextru en 7 Junio 2017, 20:57 pm
Hola, me gustaría saber como puedo hacer que al introducir un carácter en la consola de "cin", lo lea automáticamente y no tenga que pulsar enter para que lo acepte.

Engel Lex: Los títulos deben ser descriptivos al problema


Título: Re: introducir un carácter en la consola de "cin", lo lea automáticamente
Publicado por: engel lex en 7 Junio 2017, 21:11 pm
esto es manejo de la consola... que OS usas y con que compilas?


Título: Re: introducir un carácter en la consola de "cin", lo lea automáticamente
Publicado por: ezar147 en 9 Junio 2017, 00:43 am
Solo usa la libreria conio.h y llamas a la funcion getch() seria algo asi

char caracter = getch();



Título: Re: introducir un carácter en la consola de "cin", lo lea automáticamente
Publicado por: engel lex en 9 Junio 2017, 01:13 am
Solo usa la libreria conio.h y llamas a la funcion getch() seria algo asi

char caracter = getch();



esto solo funciona en windows con compiladores de microsoft


Título: Re: introducir un carácter en la consola de "cin", lo lea automáticamente
Publicado por: ezar147 en 9 Junio 2017, 04:20 am
Código:
#include <termios.h>
#include <unistd.h>
#include <stdio.h>


Int main(){
      struct termios t;
      char c;
      tcgetattr(0, &t);
      t.c_lflag &= ~ICANON;
      tcsetattr(0, TCSANOW, &t);
      tcgetattr(0, &t); t.c_lflag &= ~ECHO; tcsetattr(0, TCSANOW, &t);
     
     c = getch();     //captura la tecla sin necesidad de dar enter
   
     //se devuelve la terminal a s estado anterior
     t.c_lflag |= ICANON;
     tcsetattr(0, TCSANOW, &t);
     
}

Asi seria si lo quieres hacer en linux. Tambien funciona con cin<<