getch() es una función no estándar y está presente en el archivo de encabezado conio.h que es utilizado principalmente por compiladores de MS-DOS como Turbo C . No es parte de la biblioteca estándar C o ISO C, ni está definido por POSIX. Al igual que estas funciones , getch() también lee un solo carácter del teclado. Pero no utiliza ningún búfer, por lo que el carácter ingresado se devuelve inmediatamente sin esperar la tecla Intro. Sintaxis:
int getch(void);
Parámetros: este método no acepta ningún parámetro.
Valor devuelto: Este método devuelve el valor ASCII de la tecla presionada.
Ejemplo:
C
// Example for getch() in C #include <stdio.h> // Library where getch() is stored #include <conio.h> int main() { printf("%c", getch()); return 0; }
Input: g (Without enter key) Output: Program terminates immediately. But when you use DOS shell in Turbo C, it shows a single g, i.e., 'g'
Puntos importantes sobre el método getch():
- El método getch() pausa la consola de salida hasta que se presiona una tecla.
- No utiliza ningún búfer para almacenar el carácter de entrada.
- El carácter ingresado se devuelve inmediatamente sin esperar la tecla Intro.
- El carácter ingresado no aparece en la consola.
- El método getch() se puede usar para aceptar entradas ocultas como contraseña, números pin de cajero automático, etc.
Ejemplo: Para aceptar contraseñas ocultas usando getch()
Nota: El siguiente código no se ejecutará en compiladores en línea, sino en compiladores de MS-DOS como Turbo IDE.
C
// C code to illustrate working of // getch() to accept hidden inputs #include <conio.h> #include <dos.h> // delay() #include <stdio.h> #include <string.h> void main() { // Taking the password of 8 characters char pwd[9]; int i; // To clear the screen clrscr(); printf("Enter Password: "); for (i = 0; i < 8; i++) { // Get the hidden input // using getch() method pwd[i] = getch(); // Print * to show that // a character is entered printf("*"); } pwd[i] = '\0'; printf("\n"); // Now the hidden input is stored in pwd[] // So any operation can be done on it // Here we are just printing printf("Entered password: "); for (i = 0; pwd[i] != '\0'; i++) printf("%c", pwd[i]); // Now the console will wait // for a key to be pressed getch(); }
Producción:
Abcd1234
Producción:
Enter Password: ******** Entered password: Abcd1234
Publicación traducida automáticamente
Artículo escrito por AnshulVaidya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA