getch();

С++

Везде пишут что Гетч возвращает Аскии код нажатой клавиши... однако при нажатии -> мне гетч показывает 77, а по аски это буква какая-то...
Насколько я знаю в СИ отличаются коды вводимых символов и выводимых...
Вопрос:
где можно посмотреть эти все коды... и как их привести друг к другу?
потому что пишу программу которой надо различить управляющие символы и печатные... если печатный то его хаписать а при управляющем выполнить некоторое действие...
Подскажить как решить эти вопросы.

Примечание:
2Drino
ага, не пашет, так как это функции меняю кодовую страницу... а си ++ один фиг извращенно коды выдает...
Решил проблему тупым перебором почти всех печатаемых символов)))) и нужных мне управляющих...вроде как
Ответы:
Винда? Если да, то надо сначала поменять локаль. setlocale или SetConsoleCP. Хотя могу быть неправ, однако попробуйте и посмотрите на получившуюся таблицу символов.
Справку надо читать :) При нажатии функциональных клавиш, в отличии от обычных, возвращается не один код, а два: первый 0 или 224 (зависит от того, на какой клавиатуре нажата функциональная клавиша: основной или дополнительной), а второй — уже непосредственно код функциональной клавиши. То есть при нажатии стрелки влево в буфер клавиатуры попадает два байта 224 и 74. Всё бы ничего, но 224 — это код русской буквы "р", поэтому нужна дополнительная проверка на пустоту буфера.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.