Почему мне нужно два _getch(), чтобы получить правильное значение?

Я пытался найти код символа для клавиш со стрелками, поэтому написал это:

char x=_getch();
cout<<(int)x;  

Независимо от того, какую клавишу со стрелкой я нажимал, она печатала -32. Затем я добавил одну строку, и мой код выглядел так:

char x=_getch();
x=_getch();
cout<<(int)x;  

С приведенным выше кодом он печатал правильные значения. Кто-нибудь может объяснить, почему это происходит.
Я использую Code::Blocks с компилятором GNU GCC.


person TubbyStubby    schedule 11.01.2018    source источник


Ответы (1)


Я думаю, что это ответит на ваш вопрос введите здесь описание изображения

Ответ на аналогичный вопрос есть по следующей ссылке.

getch и коды стрелок

Это скриншот из одного из ответов по этой ссылке

person Saboor Elahi    schedule 11.01.2018