| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Очистка буфера ввода |
| Автор: zmaximka 30.3.2011, 15:42 | ||||
Подскажите пожалуйста более корректный вариант этого кода.
пробовал заменить на
но это вариант работает не правильно |
| Автор: bsa 30.3.2011, 17:32 | ||
zmaximkaТвой код в случае ошибки в std::cin, сбрасывает флаг ошибки, и пропускается одну строку. Можно сделать через getline, но выгодней просто модифицировать твой код:
|
| Автор: zmaximka 30.3.2011, 19:09 | ||||
Правильно я понял, что кроме как посимвольным чтением опустошить буфер ввода никак нельзя? |
| Автор: bsa 30.3.2011, 20:09 |
| zmaximka, можно. std::cin.ignore(). Но ты же убирал только одну строку! |
| Автор: zmaximka 30.3.2011, 20:13 |
| а если мы не знаем сколько введет пользователь, сколько символов мы укажем в ignore? |
| Автор: zmaximka 31.3.2011, 15:57 | ||
Может быть я что-то не так понял, но этот вариант у меня не работает. gcount() возвращает 0
|