Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 6

Некорректная работа функции _getch() в Release конфигурации

15.05.2018, 17:46. Показов 989. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Если кратко, то есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
 
int main()
{
    std::cout << _getch() << std::endl;
    std::cout << _getch() << std::endl;
 
    system("pause");
    return 0;
}
При его компиляции в конфигурации Debug всё работает корректно: мы нажимаем клавишу, выводится её код, и консоль ещё раз ждёт нажатие клавиши, после чего опять выводиться её код и срабатывает функция system("pause").

Если же компилировать в Release, то при нажатии клавиши нам выводится код клавиши, затем 0, и срабатывает функция system("pause"). Второй раз функция _getch() не ожидает нажатия клавиши, она по сути выводит 0. Ещё пару дней назад, до обновления винды всё работало.

Хотелось бы узнать причину сего, а так же, как устранить эту проблему. VS 2017, Windows 10.

Добавлено через 20 часов 34 минуты
Неужели никто помочь не может?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2018, 17:46
Ответы с готовыми решениями:

Некорректная работа ф-ции getch() в цикле
while (iKey != 27) { iKey = getch(); cout &lt;&lt; &quot;qwer&quot;; } Не могу понять почему после нажатия любой клавиши(понятно кроме...

Функция strlen перед вызовом моей функции портит строку в конфигурации Release MS Visual C++ 2013
Написал функцию RemoveChars, которая убирает символы перевода строки в строке. Если в конфигурации проекта Visual C++ в Microsoft Visual...

Некорректная работа функции pow
Доброго времени суток. задали в универе написать прогу которая решала б кубическое уравнение.В расчетных формулах использовал функцию pow...

4
0 / 33 / 5
Регистрация: 01.12.2017
Сообщений: 708
15.05.2018, 18:09
Вам важно это сделать именно с _getch()?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.05.2018, 18:21
VS17 (15.5.4), Win 10, всё нормально работает.
Попробуйте ребилд проекта.
Если создать новый проект, скопировать код и скомпилить, то же самое будет?
0
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 96
15.05.2018, 18:28
Да и на CodeBlocks нормально работает. На клаудном компиляторе попробуйте.
0
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 6
15.05.2018, 20:30  [ТС]
Странно... И ребилд, и создание нового проекта не помогает. Может VS глюкнула? Хотя пару дней назад ещё всё идеально работало.
А использование _getch() нужно для ввода без еха.
Про удалённые компиляторы не интересовался. Может в Release конфиге что-то отключить, раз в Debug работает?

Добавлено через 16 минут
Можно и в debug-е компилировать, но прога весит уже не 10, а 30 кб.
Переустановка студии - это долбатня, еще с VS2015 знаю.

Может попробовать свою конфигурацию создать или в Release что-то поменять? Дайте пожалуйста совет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2018, 20:30
Помогаю со студенческими работами здесь

Шаблон функции. Некорректная работа
Здравствуйте. Проблема такая: ниже приведенный код почему то некорректно отображает вызовы со всеми последующими массивами после float в...

Некорректная работа функции fscanf
Пишу прогу. Нужно считать из файла данные. Читаю при помощи fscanf. В итоге прога вроде работает, а вот в переменной куда считываю...

Некорректная работа повторно вызываемой функции
wstring fdirection(void) { wcout &lt;&lt; L&quot;Введите путь к файлу, который хотите зашифровать (файл должен существовать): &quot; &lt;&lt;...

Аналог getch или русские буквы в getch
Здравствуйте, уважаемые господа. Существуют ли какие-нибудь аналоги getch () и _getch, которые не требуют ввода какого-либо другого...

Некорректная работа функции нахождения "квадрата единиц" в двумерном массиве
Задание: Задан квадратный массив А из N стpок и N столбцов, элементами которого являются нули и единицы. Установить в нем наличие всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru