Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Alexen
5 / 5 / 0
Регистрация: 14.11.2008
Сообщений: 77
#1

Проверка входного потока на ошибки - C++

23.01.2009, 22:00. Просмотров 1114. Ответов 1
Метки нет (Все метки)

Ребяты подскажите плз )))) сам не как не разберусь можно ли использовать
failbit badbit goodbit и eofbit для проверки потока вот в этом случае с
циклом while
Должно проверять правильно или введена переменная(соответсвие типов)

C++
1
2
3
4
5
6
7
8
cin >> x;  // объявлена как целая
 
  while(cin.fail() != 0)  // произошла ошибка в потоке и failbit установился в значение 2
  {
    cin.clear();  // очищаем входной поток от ошибок failbit = 0
    cin>> x;      // но тут почему то не работает оператор cin через него проходит программа
                      // но значение он не дает ввести новое вызывая зацикливание
  }
Или я что не правильно понимаю про потоки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2009, 22:00     Проверка входного потока на ошибки
Посмотрите здесь:
C++ Слова входного потока
C++ Считывание до конца входного потока
Чтение файла из входного потока C++
C++ Работа стандартного входного потока
Вывести предыдущий член входного потока C++
C++ Детали относительно входного потока cin
Вывод строк фиксированной длины из входного потока C++
Не получается из входного потока с файла сравнить строки C++
Как установить разделитель полей входного потока C++
Как красиво игнорировать символы из входного потока? C++
C++ Игнорирование пробелов при чтении символов из входного потока
C++ Вывести все слова входного потока в порядке увеличения их длины

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dunhil
0 / 0 / 0
Регистрация: 03.12.2008
Сообщений: 7
25.01.2009, 21:22     Проверка входного потока на ошибки #2
C++
1
2
3
4
5
6
cin >> a;
if ( cin.fail() )
{
    cout << "Invalid format!\n";
    return -1;
}
вот так это можно сделать проще. а - переменная типа инт.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru