У меня есть такая программа:
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
for (int i = 0; i < 10; i++)
{
cout << int (_getch ()) << endl;
}
_getch ();
return 0;
}
Если я нажимаю такие клавиши, как цифры, алфавиты и Enter, отображается одно целое число (за одну итерацию цикла). Однако, если я нажимаю такие клавиши, как Вставить, Удалить или стрелки, отображаются сразу два целых числа.
Почему происходит такое поведение?
От _getch ()
При чтении функциональной клавиши или клавиши со стрелкой каждая функция должна вызываться дважды;
Первый вызов возвращает 0 (для F1-F10) или 0xE0 (224) (для других), а второй вызов возвращает фактический код ключа.
Других решений пока нет …