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

Стримовые строки - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.03.2010, 12:45     Стримовые строки #1
Есть стрим, например,
C++
1
cin
. Надо узнать число символов от последнего ведённого до конца строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2010, 12:45     Стримовые строки
Посмотрите здесь:

Дан безразмерный массив.Вставить количество символов каждой строки вначало этой же строки. C++
C++ Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово
C++ Если строки одинаковы, объединить две строки, исключив из второй первые десять символов
Как сделать так, что бы длинна строки сама менялась при вводе строки? C++
C++ Переместить вниз строки массива, в которых сумма элементов строки меньше ноля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
15.03.2010, 14:29     Стримовые строки #2
В общем случае - никак. Например, для cin - пользователь нажимает кнопки на клавиатуре.... и когда ему заблагорассудится нажать ENTER - это заранее программно определить невозможно.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
15.03.2010, 18:49     Стримовые строки #3
CheshireCat, а можно как-то подключится к буферу, в который пользователь "набирает текст" до нажание на ввод??
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
15.03.2010, 22:57     Стримовые строки #4
outoftime, тут засада в том, что даже подключение к этому буферу не дает рррровно никакой информации от будущих событиях - таких, как нажатие ENTER....... поэтому "узнать число символов от последнего введенного до конца строки" - т.е. от достоверно известного события ввода последнего символа до когда-нибудь будущего события нажатия ENTER - невозможно. Невозможно достоверно предсказать будущее, короче.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
15.03.2010, 23:06     Стримовые строки #5
CheshireCat, ок, судя по всему вы меня не поняли. Не знаю правда можно ли так сделать, суть в том, что-бы на событие нажатия любой клавиши заново пересчитыватт длину строки для "буфера", тогда при изменении строки до нажатия на ВВОД, мы сможем сказать текущую длину строки, или другими словами количество символов, введенных на данный момент.

Каксательно формы на си-шарпе это легко, а вот что делать с консолью на с++..

Добавлено через 2 минуты
Еще так можно обьяснить: текст, который мы вводим консоль где-то хранится до нажатия на ВВОД, если найти это "где-то" и смотреть что там лежит может получиться
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
16.03.2010, 01:17     Стримовые строки #6
А от количества знакомест в строке в текстовом режиме отнять номер текущего символа не проще?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.03.2010, 05:05  [ТС]     Стримовые строки #7
Цитата Сообщение от CheshireCat Посмотреть сообщение
В общем случае - никак. Например, для cin - пользователь нажимает кнопки на клавиатуре.... и когда ему заблагорассудится нажать ENTER - это заранее программно определить невозможно.
Не заранее. По условию задачи Enter уже нажат. Где? Под введённым символом понимаю не набранный на клаве, а прочитанный из её потока.

Добавлено через 3 минуты
Цитата Сообщение от Manjak Посмотреть сообщение
А от количества знакомест в строке в текстовом режиме отнять номер текущего символа не проще?
Где взять обе величины?
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
16.03.2010, 15:16     Стримовые строки #8
Экран в текстовом режиме разделен на 25 строк и 80 столбцов. А длину уже введенной строки сосчитать не сложно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2010, 06:18     Стримовые строки
Еще ссылки по теме:

C++ Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы больше суммы (i-1)-й строки
C++ Определить, верно ли утверждение: сумма элементов каждой i-ой строки матрицы больше суммы (i-1)-ой строки
C++ Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы меньше суммы (i-1)-й строки

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.03.2010, 06:18  [ТС]     Стримовые строки #9
Проблема решена в изменённой поставновке: есть поток, в нём нажата enter, прочитаны символы, надо определить, нажата ли enter сразу после последнего прочитанного символа. Этот вариант мне подошел.
Yandex
Объявления
17.03.2010, 06:18     Стримовые строки
Ответ Создать тему
Опции темы

Текущее время: 05:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru