Y getch es una función, como ya he dicho, no-estandar que consigue un caracter por el teclado y sin hacer eco en pantalla.
Con esta simple función podreis usar getch sin necesidad de usar conio.
#include <windows.h>
int getch(void)
{
int car;
DWORD leidos, modo;
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &modo);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo & !ENABLE_ECHO_INPUT & !ENABLE_PROCESSED_INPUT);
ReadConsole(GetStdHandle(STD_INPUT_HANDLE), &car, 1, &leidos, NULL);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo);
return 0;
}
Que nice!!! Mil gracias!!! Llevaba buen rato buscando una implementacion limpia para getch!
ResponderEliminarGracias a ti por comentar ;)
ResponderEliminarPor cierto, una dudota, no deberías retornar car en vez de 0???
ResponderEliminarLo puse así en mi código y me devuelve lo que devuelve el getch() de conio, supongo que se te debe haber pasado... :DDD
Saludos!
Hace lo mismo que el getch( ) de conio
ResponderEliminarpero sin tener que implementar esa librería.