![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
RomaKiev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 28.11.2010 Где: Киев Репутация: нет Всего: нет |
Доброго времени суток! Помогите разобраться в обработке ошибок потоков
Есть фрагмент кода:
Первый вопрос: Переменная b является целочисленной. Каким образом функция good() определяет корректность ввода данных? По типу переменной, в которую я буду сохранять вводимые данные, или по каким-либо другим критериям? Второй вопрос: Неясно назначение функции ignore()? Что она делает? На этом же форуме прочитал следующее: ignore(n,'\n') число пропускаемых символов и символ разделения т.е. пропускает n символов, если ранее не будет найден '\n', далее если '\n' введен раньше n то будет удален из буфера и ignore() завершит работу. Какие именно символы она пропускает, кроме разделителя? Третий вопрос: Неясно назначение функции clear()? Заранее спасибо! |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
RomaKiev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 28.11.2010 Где: Киев Репутация: нет Всего: нет |
За ссылки конечно спасибо, но я, к сожалению, не владею английским языком. |
|||
|
||||
Estranged |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: нет Всего: 3 |
Учить программирование не зная английского почти невозможно. Вся документация на английском.
|
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
там английский никакой + пример есть |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
Хорошо, что не на китайском )) |
|||
|
||||
JЕT |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 30.9.2010 Репутация: нет Всего: нет |
Функция good() возвращает true, если для потока не установлен ни один из битов: failbit, badbit, eofbit.
Те, которые будут переданы в поток. Например:
Вы вводите qwerty, а получаете erty. То есть пропускается первые 2 символа.
Для очистки битов ошибок и установки goodbit. |
||||||||
|
|||||||||
RomaKiev |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 28.11.2010 Где: Киев Репутация: нет Всего: нет |
Спасибо за ответ! Но не могли бы вы обьяснить ещё один момент: а с какой целью мы используем функцию cin.ignore(10, '\n') именно здесь?
Ведь мы то уже считали данные из потока и поместили их в переменную b. Какие символы мы пропускаем далее как в конструкции if, так и после нее? |
||||||||||||
|
|||||||||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |