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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

Как отправить строку обратно в поток ввода, кроме putback? - C++

03.06.2009, 22:52. Просмотров 899. Ответов 0
Метки нет (Все метки)

Необходимо отправить в поток ввода строку,как бы это сделать,не пользуясь циклом с cin.putback()?Наверное можно через итератор,хочется с помощью итератора(я ещё не разжевал тему,но итераторы очень по вкусу =)) .Вот в этом коде нужно сделать отправку строки в поток ввода,и потом "положить" "это" в переменную.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void map_filler_iterator(std::map<std::string,float>&m)
{
    std::istream_iterator<std::string>input_iterator(std::cin);
    std::string str;
    while (*++input_iterator!="end")
    {
        str=*input_iterator;
        if (str_letr_chk(str.substr(0,str.find_first_of(' ')))&&str_digt_chk(str.substr(str.find_first_of(' ')+1,str.size())))
        {
           m[str.substr(0,str.find_first_of(' '))];
           /* вот тут я хочу отправить  str.substr(str.find_first_of(' ')+1,str.size())
              в поток ввода и инициализировать сим переменную в map.*/
        }
        else std::cout<<"Input error!Please enter a valid word and number.";
    }
}
В стандартной библиотеке нашёл только putback,но цикл делать неохота.
P.S.Замечания по качеству кода,если будут,выслушаю с вниманием.

Добавлено через 18 минут 37 секунд
Тут мне не ответили Непонятный выход за пределы подстроки я так и не понял смысл ошибки,поэтому пока оставил первый вариант создания ключей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 22:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как отправить строку обратно в поток ввода, кроме putback? (C++):

Как работает метод get и putback (Подсчитать количество символов ввода вплоть до значения '$') - C++
Задание простое: подсчитать количество символов ввода вплоть до значения '$', и оставить '$' во входном потоке. Вот готовое решение: ...

Как очистить поток ввода? - C++
std::istringstream iss(s1); idd&gt;&gt;a; iss.clear();; s1=s3; iss&gt;&gt;b надо чтоб s3 в b записалось, громадное число...

Как читает поток ввода cin ? - C++
Спасибо большое, разобрался. Возникли новые вопросы: 1) как читает поток ввода оператор cin ? Например: char a,b; ...

Как прервать поток ввода, введя определенный символ? - C++
Доброго всем времени суток double d; char c; cin &gt;&gt; d; cin &gt;&gt; c; cout &lt;&lt; c &lt;&lt; d; Я ввожу число, которое записывается в d,...

Как можно сделать виртуальный поток ввода / вывода? - C++
есть программа, которая считает кол-во слов в строке причудливым способом, конечно можно сделать другим способом, но есть желание узнать,...

Как перевести строку в hex и обратно? - C++
Немогу найти в гугле функцию какбы перевести строку в hex и обратно, мб у кого завалялась?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2009, 22:52
Привет! Вот еще темы с ответами:

Как преобразовать время в строку и обратно - C++
Помогите с алгоритмом: SYSTEMTIME(или FileTime) в строку с учетом региональных установок, а потом на основе данной строки обратно получить...

Подскажите, как преобразовать строку с IP адресом в число и обратно - C++
Есть IP адрес в std::string &quot;192.168.1.1&quot;, нужно преобразовать его в число, а IP адрес числом преобразовать обратно, не используя сторонних...

Как сделать отступы или , чтобы входной поток(ввода) отдельно от вывода - C++
#include &lt;iostream&gt; #define MAX_N 100 using namespace std; class Stack { int st_size=0; int st_elements; ...

Как строку отправить на принтер - C++
Предположим у меня есть набор строк S1, S2, ... , Sn, как их отправить на печать? Какие библиотеки и функции для этого нужно использовать?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru