No olvides que en las ciencias un error puede tener más de una resoluciones, así que aquí enseñamos lo más óptimo y eficiente.
Solución:
Como mencionaron otros, no hay una forma multiplataforma de hacer esto, pero en Windows puedes hacerlo así:
El siguiente código comprueba si el key ‘A’ está abajo.
if(GetKeyState('A') & 0x8000/*Check if high-order bit is set (1 << 15)*/)
// Do stuff
En caso de turno o similar deberá pasar uno de estos: https://msdn.microsoft.com/de-de/library/windows/desktop/dd375731(v=vs.85).aspx
if(GetKeyState(VK_SHIFT) & 0x8000)
// Shift down
El bit de orden bajo indica si key está alternado.
SHORT keyState = GetKeyState(VK_CAPITAL/*(caps lock)*/);
bool isToggled = keyState & 1;
bool isDown = keyState & 0x8000;
Ah, y tampoco te olvides de
#include
No existe una función portátil que permita comprobar si un key es golpeado y continuar si no. Esto siempre depende del sistema.
Solución para linux y otros sistemas compatibles con posix:
Aquí, para el código de Morgan Mattews proporcione kbhit()
funcionalidad de una manera compatible con cualquier sistema compatible con POSIX. Utiliza el truco de desactivar el almacenamiento en búfer a nivel de termios.
Solución para ventanas:
Para Windows, Microsoft ofrece _kbhit()
Sección de Reseñas y Valoraciones
Tienes la opción de patrocinar nuestro cometido fijando un comentario o dejando una puntuación te lo agradecemos.