|
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 7
|
||||||
getch(); ожидает ESC и при этом ест вводимый символ28.05.2011, 23:14. Показов 6900. Ответов 16
Метки нет (Все метки)
кусочек программы словаря процедура перевода слов с английского на русский
0
|
||||||
| 28.05.2011, 23:14 | |
|
Ответы с готовыми решениями:
16
Getch() + ncurses = НЕ ожидает нажатие символа getch() забирает вводимый элемент Найти вводимый символ с клавиатуры |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||
| 29.05.2011, 00:32 | ||||||
|
Проверил на простенькой программе - у меня getch() на нажтие esc никак по особенному не игнорирует, ну да а вообще если вам задержку надо сделать то это же не обязательно надо использовать старый бородатый getch, есть много других способов,
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 7
|
||
| 29.05.2011, 00:53 [ТС] | ||
|
0
|
||
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
||||||
| 29.05.2011, 01:05 | ||||||
0
|
||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||||
| 29.05.2011, 01:12 | |||||||||||||
1
|
|||||||||||||
|
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 7
|
|||||||
| 29.05.2011, 15:32 [ТС] | |||||||
|
решаю свою проблему примерно так
0
|
|||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 31.05.2011, 16:18 | |
|
Что значит cin.putback работает не всегда? Вы что-то как прочитаете, в даном случае cin.putback(c) возвращает в входящий поток символ находящийся в переменной с. То возвращать то не возвращать оно не может же, это программирование, а не теория вероятностей.
0
|
|
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 26
|
|
| 28.08.2025, 22:45 | |
|
Добрый день!
Тоже беспокоила эта проблема с проглатыванием первого символа при выводе c помощью сout после использования _getche() и клавиши ESC. Как я понял, в этой ситуации просто проглатывается первый символ при выводе. Т.е., нужно просто перед выводом нужного текста вывести один любой символ - который и проглотится. После чего выводим все что нужно. Т.е. просто перед нужным выводом вставляем вывод, например единички:: cout<<1; cout<<"А тут уже выводим то, что нужно";
0
|
|
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
|
| 29.08.2025, 08:14 | |
|
allar8, Вы не поняли суть проблемы.
getch() - функция низкоуровневого ввода, которая берет символ прямо с клавиатуры и НЕ ОТОБРАЖАЕТ его на экране. Поэтому-то его и не видно.
0
|
|
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 26
|
|
| 29.08.2025, 08:28 | |
|
Добрый день!
Ааа. Простите - сам начинающий. Искал решение своей проблемы на форуме и увидел в теме знакомые слова). Но спасибо - ваш форум помог - пусть и так)
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 29.08.2025, 11:13 | |
|
0
|
|
|
Вездепух
12935 / 6802 / 1821
Регистрация: 18.10.2014
Сообщений: 17,214
|
||
| 29.08.2025, 17:11 | ||
|
О какой "проблеме с проглатыванием первого символа при выводе" вы ведете речь - в упор не ясно. Где вы видели такое "проглатывание"?
0
|
||
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 26
|
|||||||
| 28.12.2025, 02:55 | |||||||
|
Вот в моей программе поиска наибольшего элемента массива с самопальным классом CIN с выходом по ECS:
" Введите 1-ое число: 56 Введите 2-ое число: 59 Введите 3-ое число: 17 Введите 4-ое число: [тут нажимаем ECS] 6 59 17 Максимальный элемент: 59 на 2-й позиции D:\Cloud\Программирование\2025\ConsoleAp plication1\x64\Debug\ConsoleApplication1 .exe (процесс 8416) завершает работу с кодом 0. Чтобы закрыть это окно, нажмите любую клавишу… " Предполагаю, что это как-то связано с тем, что ESC состоит из двух ASCII кодов, а функция _getche() обрабатывает за раз только один ASCII код
0
|
|||||||
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
||||||
| 28.12.2025, 06:14 | ||||||
|
allar8, Что-то Вы сильно перемудрили
0
|
||||||
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 26
|
|||
| 28.12.2025, 13:42 | |||
|
А в вашем варианте сохраняется проблема с "проглатыванием"? ну по крайне мере у меня Введите 1-ое число: 12 Введите 2-ое число: 65 Введите 3-ое число: 65 Введите 4-ое число: [Тут нажимаем ESC] 2 65 65 0 Максимальный элемент: 65 на 1-й позиции единичка "проглотилась" при выводе первого элемента Как я и говорил - не хватает перед выводом введенных элементов дать "съесть" какой-нибудь символ функции _getche() И еще есть недостаток - выводится последний 0. Я это убирал. И на единицу ошибается программа Ваша - 65 не первое введенное число, а второе по моей задумке. Но все это не суть. Меня спросили - что "проглатывается"? - я показал.
0
|
|||
| 28.12.2025, 13:42 | |
|
Помогаю со студенческими работами здесь
17
Как отобразить вводимый символ с клавиатуры Getch() выдает лишний символ В какой кодировке getch() возвращает символ? Заменить вводимый пользователем в ячеку DataGridView символ на другой Вводимый символ с клавиатуры и перемещение его с использованием цифр Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|