introducir un carácter en la consola de "cin", lo lea automáticamente

Iniciado por surextru, 7 Junio 2017, 20:57 PM

0 Miembros y 1 Visitante están viendo este tema.

surextru

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

engel lex

esto es manejo de la consola... que OS usas y con que compilas?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ezar147

Solo usa la libreria conio.h y llamas a la funcion getch() seria algo asi

char caracter = getch();


engel lex

Cita de: 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();



esto solo funciona en windows con compiladores de microsoft
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ezar147

#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<<