|
|
||||||||||||||||
Зачем здесь символ новой строки?05.07.2017, 07:16. Показов 1595. Ответов 6
Метки нет (Все метки)
Стивен Прата, Язык программирования С++, глава 7, пример 7
Никак не пойму, зачем здесь
На всякий случай весь код: Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
| 05.07.2017, 07:16 | |
|
Ответы с готовыми решениями:
6
Символ новой строки Символ новой строки в MFC Std::cin, символ новой строки |
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
| 05.07.2017, 07:23 | |
|
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,222
|
|||
| 05.07.2017, 07:31 | |||
'\n'.Если ввод std::cin >> temp; оказался неуспешным, т.е. то код полагает, что все, что содержится в этой строке до самого ее конца является "мусором". Мы хотим пропустить этот "мусор", т.е. пропустить остаток этой строки. Вот это и делает данный цикл: читает и отбрасывает все символы из входного потока пока не прочитает '\n'.При использовании клавиатурного ввода '\n' - это ни что иное, как нажатие клавиши <Enter> пользователем. Т.е. в случае клавиатурного ввода, при возникновении ошибки чтения данный цикл просто пропускает все, что пользователь ввел до нажатия клавиши <Enter>.Добавлено через 7 минут '\n', но данный код этого совершенно не боится. При использовании чисто форматированного ввода, как в данном случае, проблемы "остающегося в потоке '\n'" обычно не возникает вообще и бороться с ней незачем.В данном случае речь идет не о борьбе с "остающегося в потоке '\n'", а именно о чистке входного буфера после возникновения ошибки.
1
|
|||
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
||||||||||||
| 05.07.2017, 07:40 | ||||||||||||
лучше это использовать
0
|
||||||||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,222
|
|||
| 05.07.2017, 07:46 | |||
|
Но цели этого отбрасывания - совершенно разные. По вашей ссылке на "Распространенные ошибки" не идет никакой речи о чистке буфера после ошибок ввода. По вашей ссылке речь идет о проблеме "остающегося в потоке '\n'", которая возникает при смешивании форматированного и неформатированного чтения данных из потока. К ошибкам ввода эта тема никакого отношения не имеет.В этом же случае речь идет о чистке буфера именно после возникновения ошибок ввода. Т.е. средства используются похожие, но причины применения этих средств - совершенно разные.
0
|
|||
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
| 05.07.2017, 07:47 | |
|
0
|
|
|
|
|
| 05.07.2017, 07:50 [ТС] | |
|
Ага. А новая строка во вводе зачем нужна? Вот мы сбросили ошибки cin.clear(); , проглотили по одному символы с помощью цикла, и оставили в вводе \n
Понял!!! Цикл не оставляет в вводе \n! Он его прочитывает, и на этом останавливается!
0
|
|
| 05.07.2017, 07:50 | |
|
Помогаю со студенческими работами здесь
7
Ошибка: символ новой строки в потоке Отбрасывает ли std::cin символ новой строки? Как убрать символ новой строки, применяя перегруженный оператор <<? Будет ли добавлен символ новой строки при ошибочном вводе?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|