elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  introducir un carácter en la consola de "cin", lo lea automáticamente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: introducir un carácter en la consola de "cin", lo lea automáticamente  (Leído 2,633 veces)
surextru

Desconectado Desconectado

Mensajes: 1


Ver Perfil
introducir un carácter en la consola de "cin", lo lea automáticamente
« 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


« Última modificación: 7 Junio 2017, 21:11 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: introducir un carácter en la consola de "cin", lo lea automáticamente
« Respuesta #1 en: 7 Junio 2017, 21:11 pm »

esto es manejo de la consola... que OS usas y con que compilas?


En línea

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

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: introducir un carácter en la consola de "cin", lo lea automáticamente
« Respuesta #2 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();

En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: introducir un carácter en la consola de "cin", lo lea automáticamente
« Respuesta #3 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
En línea

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

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: introducir un carácter en la consola de "cin", lo lea automáticamente
« Respuesta #4 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<<
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines