|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||
cin.peek() и cin.putback()27.10.2020, 01:37. Показов 4803. Ответов 4
Метки нет (Все метки)
Вставляю 3 раза символ в поток ввода и метод
peek() возвращает -1, как понимаю это eof, но если вставить 2 символа, то всё норм. Мне непонятны 3 момента: 1) говорит ли это о том, что буфер по умолчанию выделяется на 2-3 байта для потока ввода (нереалистично как-то выглядит)? 2) почему reinterpret_cast<char> (cin.peek()) не отрабатывает?3) почему in_avail() показывает 1, когда вставлено 3 символа в поток, а метод peek() не извлекает эти символы, а лишь просматривает очередной символ?
С вопросом 3 походу разобрался, судя по всему указатель не двигается и putback(symbol) просто перезаписывает один и тот же элемент потока, поэтому и элементов в потоке 1. Но почему он может два раза только переписать элемент не понял.Добавлено через 49 минут Неправильно понял как работает putback() https://www.youtube.com/watch?v=yMwA4u7eXEY
0
|
||||||
| 27.10.2020, 01:37 | |
|
Ответы с готовыми решениями:
4
Cin.putback Не работает cin.putback |
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||||
| 27.10.2020, 12:57 | ||||||||
Сообщение было отмечено Timurs как решение
Решение
1
|
||||||||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
|||||||||||||||||||||
| 02.11.2020, 00:56 [ТС] | |||||||||||||||||||||
|
oleg-m1973, спасибо. У меня цель была поместить символы в буфер, а затем посмотреть его размер. И ещё хотел перемещать как-то указатель по этому буферу.
Как понимаю символы в буфер можно поместить методом get(), он же сдвигает указатель на следующий элемент. Посмотреть размер буфера можно методом in_avail(). Как ходить по буферу не понял пока.Прошелся пошагово по методам гет и путбэк, посмотрел что конкретно происходит с буфером. Происходят не совсем понятные вещи.
Перепроверил на трех вызовах get() и четырёх вызовах putback(), тот же самый результатКликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Получается на 2 гета 3 путбэка и сброс, на 3 гета 4 путбэка и сброс. Ну и судя по всему на 1 гет 2 путбэка и сброс. Как будто запоминает сколько гетов было и делает на 1 путбэк больше. Причём я так и не понял почему первый гет не извлекает символ из потока.
0
|
|||||||||||||||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 02.11.2020, 18:55 | ||
|
1
|
||
|
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
|
||||||
| 02.11.2020, 18:59 [ТС] | ||||||
|
Чет заглючило вчера, он же enter в поток добавил, так что всё там метод
get() извлекает как и написано в документации.
0
|
||||||
| 02.11.2020, 18:59 | |
|
Помогаю со студенческими работами здесь
5
Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear() Объясните функцию cin.peek Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|