En este artículo, veremos el uso de la función getch() en C/C++.
La función getch() es muy útil si desea leer un carácter ingresado desde el teclado.
Si bien esto no es parte del estándar C, sigue siendo una función POSIX C. Por lo tanto, aún podemos usar esta función desde Windows/Linux/Mac.
Veamos cómo utilizar esta función mediante algunos ejemplos.
Sintaxis básica de getch() en C/C++
Esta función toma un solo carácter de la entrada estándar ( stdin) y devuelve un entero.
Esto está allí como parte del conio.harchivo de encabezado, por lo que debe incluirlo en su programa.
#include conio.hint getch();
Esta función no toma ningún parámetro.
Aquí, getch()devuelve el valor ASCII del carácter leído desde stdin.
Por ejemplo, si damos el carácter ‘0’ como entrada, devolverá el valor ASCII de ‘0’, que es 49.
Ahora, en C/C++, podemos convertir directamente un carácter en un entero. Por lo tanto, al realizar la conversión de tipos, el valor ASCII 49 se convertirá en el charvalor ‘0’.
Veamos ahora algunos ejemplos.
Uso de getch() en C/C++: algunos ejemplos
Como ejemplo sencillo, veamos primero la lectura de un solo carácter.
#include stdio.h#include conio.hint main() { char ch = getch(); printf("Received Input: %cn", ch); return 0;}
Ejemplo de salida
Received Input: a
Obtuve este resultado después de escribir “a” en mi teclado. Veamos ahora un programa que espera cinco caracteres del teclado.
Tenga en cuenta que NOgetch() se mostrará la entrada del teclado. Por lo tanto, cuando escriba la entrada, el cursor no la mostrará.
Mostremos la cadena completa solo después de obtener los 5 caracteres
#include stdio.h#include conio.hint main() { // Set op = {0, 0, 0, 0, 0, 0} = '' string char op[6] = {0}; for (int i=0; i5; i++) { op[i] = getch(); } printf("Received 5 character Input: %sn", op); return 0;}
Producción
Received 5 character Input: Hello
De hecho, cuando escribí “Hola”, obtuve el resultado correcto.
Tenga en cuenta que tengo 6 caracteres en mi cadena de salida, ya que necesitamos reservar 1 byte para ‘’. Lo mismo opocurre con “Hola”.
Conclusión
En este artículo, aprendimos a usar la función getch() en C / C++ para recibir entrada de caracteres desde el teclado.
¡Para obtener más contenido sobre C y C++, consulte nuestra sección de tutoriales sobre programación en C!
Referencias
- Página del manual de Linux sobre la función getch() en C