Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2012, 10:55   #1
LancX
Пользователь
 
Аватар для LancX
 
Регистрация: 30.04.2012
Сообщений: 52
По умолчанию _getch()

Столкнулся с проблемой, необходимо очистить буфер ввода после использования функции _getch(), толкового в инете ничего не нашел, мб кто-то тут сталкивался с подобной проблемой?
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
LancX вне форума Ответить с цитированием
Старый 23.08.2012, 15:28   #2
LancX
Пользователь
 
Аватар для LancX
 
Регистрация: 30.04.2012
Сообщений: 52
По умолчанию

Решил проблему, использовал дополнительный цикл и манипулятор.
Все же просто интересно есть ли функция очистки буфера клавиатуры(C++, Windows) в принципе?
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
LancX вне форума Ответить с цитированием
Старый 23.08.2012, 16:52   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По-моему как-то функция типа Flush() называется... точно не помню.
Хотя могу ошибаться. Знаю что cin.clear из iostream очишает буфер.
I'm learning to live...

Последний раз редактировалось Stilet; 23.08.2012 в 16:55.
Stilet вне форума Ответить с цитированием
Старый 24.08.2012, 10:02   #4
LancX
Пользователь
 
Аватар для LancX
 
Регистрация: 30.04.2012
Сообщений: 52
По умолчанию

cin.clear() нужно использовать после cin в противном случае, если дальше будет использован getline, getline не отработает. У _getch() совсем другая история, буфер именно клавиатуры в С# под Windows такое есть, в С++ под Linux тоже, а под Windows(C++) так и не нашел.
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
LancX вне форума Ответить с цитированием
Старый 24.08.2012, 11:05   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от LancX Посмотреть сообщение
а под Windows(C++) так и не нашел.
У консоли есть свой буффер - смотрим PeekConsoleInput() и ReadConsoleInput() и потом сами пишем очищающую функцию. Написав такую функцию смотрим на FlushConsoleInputBuffer()
waleri вне форума Ответить с цитированием
Старый 24.08.2012, 11:11   #6
LancX
Пользователь
 
Аватар для LancX
 
Регистрация: 30.04.2012
Сообщений: 52
По умолчанию

Спасибо, таких функций я не встречал еще, будет время разберусь)
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
LancX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц