Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Рекомендуемые сообщения

Проблема в следующем.

Пишу я в консоли на с++ прогу, где в определенный момент пользователю надо вводить число:

int n;

.........

.......

cin >> n;

допустим (во всех моих подобных прогах такой трабл)

так вот, если в n ввести кучу букв или просто 111111111111111111111111111111111111111111111111111111111111,

то на разных установленных вижуалах 6 происходит либо бесконечный прогон, либо дальнейшее игнорирование всех вводов с клавы до конца проги. Почему так происходит я вроде понял: в буфер пишется код ошибки при несоответствии типов, либо поочередно ставятся лишние куски 1111.

Так вот, вопрос в том, можно ли принудительно обнулить буфер (после ввода) и как до него добраться. Если можно, словесные объяснения сопроводить куском кода (примером), потому что знаний пока дуже небагато.

Буду признателен. :(

Ссылка на комментарий
Поделиться на другие сайты

А вроде никак до буфера не добраться... если только ты не перепишешь C++ stdlib :)

Попробуй использовать scanf в случаях с большими строками.

Ссылка на комментарий
Поделиться на другие сайты

Опозорен. Забыл про метод clear в классе cin. Каюсь и ухожу молиться :)

Ссылка на комментарий
Поделиться на другие сайты

Работает, с параметром (0) :bye:. А есть что-то, чтобы преобразовать строку в цифры? Потому что эта штука спасает от переполнения, но не спасает от несоответствия типов. У меня на вводе тогда будет строка, а не int, а потом надо все равно в инт. Я могу вручную забацать через коды, но уж больно громоздко, как мне кажется... ;)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...