Programación General > C/C++
Truncar teclas C Linux
(1/1)
NICOLASBLUES:
Hola a todos!!
bueno tengo una pequeña duda estaba pensando en que si hay alguna manera de poder truncar o bloquear las teclas cuando se pide que se igresen datos, me explico, supongamos que se pide que se ingrese una cadena y a la hora de teclear por ejemplo la etra "n", nisiquiera se imprima en pantalla cuando la presiono... se que deve haber alguna manera con directivas o algo asi
yo me imagino que puede ser revisando primero las letras que uno presiona con una funcion como getchar o algo asi pero no se me ocurre del todo como implementarlo
bueno espero que puedan ayudarme
os dejo Saludos.......
Aprendiz21Sam:
--- Código: C ---int i;char Cadena[20]; printf("Cadena: ");for(i=0; i<20; i++){ Cadena[i]=getch();}
rock_neurotiko:
También, si no quieres hacer un bucle, lo que puedes hacer en linux es usar la libreria ncurses.h (la que sustituye a conio.h de Turbo C).
Un ejemplo sería:
--- Código: C --- #include <stdio.h>#include <ncurses.h> int main(){ char cadena[60]; initscr(); /*Empezamos el modo ncurses*/ printw("Escriba la cadena:"); /*Observese como se ha usado printw en vez de printf, eso es porque estamos dentro de una ventana de ncurses, por lo tanto hay que usar printw (ncurses trabaja con "ventanas")*/ refresh(); /*Para refrescar la ventana, no es obligatorio, pero si recomendable*/ noecho(); /*Con esta función dices que NO se imprima en pantalla todo lo que sigue*/ scanw("%s", &cadena); /*Se usa también scanw en vez de scanf*/ echo(); /* Para que se vuelva a visualizar lo siguiente*/ printw("Muy bien, ahora, para comprobar que ha funcionado... la cadena es la siguiente: %s", cadena); /*En realidad esto es para que veas que funciona perfectamente, pero seria una tonteria esconderlo y luego enseñarlo xD*/ getch(); /*Para salir cuando se pulse una tecla*/ endwin(); /*Se termina el modo ncurses*/ return 0; }
Espero que te haya servido ;)
Ah, y recuerda, para compilar con gcc el codigo seria algo asi: gcc -lncurses prueba.c -o prueba
NICOLASBLUES:
Gracias por responder no es exactamente lo que buscaba pero se acerca bastante, enverdad lo que buscaba es truncar ciertas teclas osea digamos que pido que se ingrese un numero la idea seria truncar todo los caracteres que no sean números con esta nueva info se me ocurre que puedo usar getch
no se bien como funciona pero si esta función devuelve el carácter ingresado podría hacer una verificación si es el carácter esperado ingresarlo donde corresponda sino que siga intentando lo voy a probar ahora...
GRACIAS!!
Saludos Cordiales...
rock_neurotiko:
Ahhhhh, ya se lo que quieres.
Si, con el bucle y getch puedes hacerlo.
Navegación
Ir a la versión completa