4 / 4 / 0
Регистрация: 28.10.2013
Сообщений: 54
|
||||||
1 | ||||||
Зачем нужна функция cin.ignore()?13.04.2015, 19:24. Показов 3923. Ответов 4
Метки нет Все метки)
(
Объясните пожалуйста почему если убрать из кода cin.ignore(); , в 55 строке присваиваем n = 1, оно возвращает к началу, и getline(cin, str); перестаёт реагировать (всё время пустая строка). Почему getline не может обойтись без cin.ignore(); , что оно делает?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
13.04.2015, 19:24 | |
Ответы с готовыми решениями:
4
Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода
Для чего в код вводится cin.ignore после того, как cin>> уже сработало? |
7275 / 6220 / 2833
Регистрация: 14.04.2014
Сообщений: 26,871
|
|
13.04.2015, 19:36 | 2 |
При извлечении числа, символ конца строки '\n' не извлекается, и последующий getline() интерпретирует это как ввод пустой строки.
0
|
4 / 4 / 0
Регистрация: 28.10.2013
Сообщений: 54
|
|
13.04.2015, 19:41 [ТС] | 3 |
Если убрать \n и "пробелы" то всё равно без cin.ignore(); , последующий getline() будет заполняться пустим
0
|
7275 / 6220 / 2833
Регистрация: 14.04.2014
Сообщений: 26,871
|
|
13.04.2015, 20:24 | 4 |
Ты не путай поток ввода и поток вывода. Ввод числа ты заканчиваешь, нажимая Enter, вот после этого и добавляется '\n'.
1
|
Джоуи
|
|
28.06.2015, 11:43 | 5 |
nmcf, хороший ответ
0
|
28.06.2015, 11:43 | |
Помогаю со студенческими работами здесь
5
cin.getline и cin.ignore
Избавиться от cin.ignore() Друзья getline и cin.ignore Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |