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

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

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

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

int n;

.........

.......

cin >> n;

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

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

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

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

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

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

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

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

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

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

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

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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